Integrating offsite data records with online data records

ABSTRACT

A system for collecting and indexing data by appending a tracking identifier (generated directly or indirectly by a tracking company) into a data file, wherein the data file is acquired from a computer system operated by a user. The system comprising a series of computers provided in signal communication with one another via a network. The data file could be data collected by a form made available through a website hosted by a web server. Additional data collected from other sources (stored as a record), such as a computer system operated by an agent, would be associated with the collected data file by an inquiry management company. The collected data and associated records are forwarded to a computer system that tracks online users and visitors. The process can marry computer collected data (other than the data file) about website activity with other activities that are independent of the website.

CROSS REFERENCE TO RELATED APPLICATIONS

This United States Non-Provisional Utility patent application is:

(A) a Divisional patent application claiming the benefit of:

-   -   U.S. Non-Provisional Utility application Ser. No. 15/698,922,        filed on Sep. 8, 2017 (scheduled to issue as U.S. Pat. No.        10,218,666 on Feb. 26, 2019),    -   wherein U.S. Non-Provisional Utility application Ser. No.        15/698,922 is a Divisional application claiming the benefit of        United States Non-Provisional Utility application Ser. No.        15/346,519, filed on Nov. 8, 2016 (now U.S. Pat. No. 9,762,529        on Sep. 12, 2017),    -   wherein U.S. Non-Provisional Utility application Ser. No.        15/346,519 is a Divisional application claiming the benefit of        United States Non-Provisional Utility application Ser. No.        14/973,639, filed on Dec. 17, 2015 (now issued as U.S. Pat. No.        9,491,249 on Nov. 8, 2016),        (B) in a first branch:    -   U.S. Non-Provisional Utility application Ser. No. 14/973,639 is        a Continuation-In-Part claiming the benefit of United States        Non-Provisional Utility application Ser. No. 14/854,204, filed        on Sep. 15, 2015 (now issued as U.S. Pat. No. 9,342,843, issued        on May 17, 2016),    -   wherein U.S. Non-Provisional Utility application Ser. No.        14/854,204 is a Divisional patent application claiming the        benefit of United States Non-Provisional Utility application        Ser. No. 14/524,949, filed on Oct. 27, 2014 (now issued as U.S.        Pat. No. 9,137,360, issued on Sep. 15, 2015), which claims the        benefit of each of:    -   wherein U.S. Non-Provisional Utility application Ser. No.        14/524,949 is a Non-Provisional application claiming the benefit        of U.S. Provisional Patent Application 62/041,779, filed on Aug.        26, 2014;    -   wherein U.S. Non-Provisional Utility application Ser. No.        14/524,949 is a Non-Provisional Application claiming the benefit        of U.S. Provisional Patent Application 62/008,031, filed on Jun.        5, 2014;    -   wherein U.S. Non-Provisional Utility application Ser. No.        14/524,949 is a Non-Provisional Application claiming the benefit        of U.S. Provisional Patent Application 61/974,600, filed on Apr.        3, 2014; and    -   wherein U.S. Non-Provisional Utility application Ser. No.        14/524,949 is a Non-Provisional Application claiming the benefit        of U.S. Provisional Patent Application 61/895,544, filed on Oct.        25, 2013; and        (C) in a second branch:    -   U.S. Non-Provisional Utility application Ser. No. 14/973,639,        filed on Dec. 17, 2015 (now issued as U.S. Pat. No. 9,491,249,        issued on Nov. 8, 2016) is a Non-Provisional Application        claiming the benefit of U.S. Provisional Patent Application        62/094,259, filed on Dec. 19, 2014;        each of which are incorporated by reference herein in their        entireties.

FIELD OF THE PRESENT INVENTION

The present disclosure generally relates to a method for voice call andleads tracking and management, and more particularly, to a method forrecording information related to voice calls and form submissions thatare triggered or initiated from network-based content and associatingthe recorded information with information collected by externalsystems—such as web analytics software, advertising platforms, or phonesystems—about the caller or sender, and managing said information.

BACKGROUND OF THE PRESENT INVENTION

Businesses commonly advertise through many different media in order toattract customers. Ads reach customers via a variety of modalitiesincluding, for example, online websites, printed publications, radio andtelevision broadcasts, direct mailings, emails, and other mediums inwhich customers are likely to view the ads.

Increasingly, businesses are focusing their advertising efforts ononline or Internet ads. As online advertising spending continues toclimb, there is a strong interest in being able to attribute customeractions to a particular advertisement or marketing channel. Actions thatoccur during a visit to a website, such as for example submitting aninquiry form or downloading a file, can be tracked and associated withother visitor information including, for example, a visitor sourcechannel or a searched keyword term. However, offline actions, such asphone calls, cannot typically be tracked in the same manner.

Current methods for associating phone calls with visitor data involveassigning a unique phone number to each ad created. In that case, if acaller contacts a business via a particular phone number, it can beassumed that the caller viewed the ad that displayed that phone number.This method of associating a phone call with a website visit isinefficient, because it requires a business to purchase a large numberof phone numbers such that each ad can be associated with its own phonenumber.

Another alternative involves dynamically assigning forwarding phonenumbers for each visit and/or page-view. This method creates increasinguncertainty when the number of visitors and page-views increases and/orwhen tracked details are more refined, e.g., tracking keywords vs.merely tracking all visits from organic searches. This is because afinite number of phone numbers are spread, and recycled, through anincreasing number of possible visit information combinations.

For instance, if an interior design company merely tracked visitorsource, all visits from organic searches would be assigned the samephone number. However, to track each keyword searched, a unique phonenumber would be assigned to each phrase. Thus, “sofa upholstery” and“couch upholstery” would require different phone numbers. Since thebusiness owns a finite pool of phone numbers, which are dynamicallyassigned and reused, this increases the likelihood that identical phonenumbers would be reused frequently enough to render the systemerror-prone.

Additionally, if the phone number is displayed on multiple areas on thepage, this method would not be capable of disclosing which phone numbera visitor looked or clicked at to call. Such data would be important fora business attempting to understand which area of a web page attractsthe attention of visitors. To accomplish this with the current method, abusiness would need to feature different phone numbers on the same page,which would be impractical.

Furthermore, the current method for associating a phone call with awebsite visit uses analytics collected by the call tracking systemindependently and does not connect the tracking to the website'sexisting web analytics system. This approach limits the availability ofdata, since the website's analytics system specializes in collecting awide array of visitor data. By connecting phone calls and callinformation to the analytics system, the disclosed method unleashes astream of opportunities for improved analytics and operations of abusiness.

Current tracking methods also interfere with the branding efforts ofbusinesses, as it may be desirable for customers to associate aparticular business with a particular or memorable phone number.

Furthermore, traditional call tracking methods involve passing a callthrough the mentioned tracking numbers, which incurs charges based onthe usage of the network associated with these numbers (for instance,per minute of talking time). For a business with substantial callvolume, the cost associated with such a setup is significant.

Lastly, the transition to offline, via either a phone call or formsubmission, introduces challenges in optimizing online advertising. Asbusinesses are increasingly interested in improving ad spend ROI, thereis growing interest to target online advertising by interceptingadditional data about a user, such as profile and activity. Thus,tracking a user's web activity and using the data to predict interestand guide advertising display decisions is commonplace. However, theutilized data is restricted to online browsing behavior. Since phonecalls and form submissions generate offline activity, and given thesheer volume of activity, the ability to utilize this information totarget online advertising is extremely valuable. The present disclosureenables information other than online browsing behavior to be utilizedin the same manner as online browsing behavior in targeting onlineadvertising.

BRIEF SUMMARY OF THE PRESENT INVENTION

In one variant of the present invention, various systems and methods areadapted towards form submissions and leads tracking and management,including a system and method for bringing form submissions and ensuingoffline activity into an online context, enabling the association ofthis activity with online data. In an embodiment, when a user visits aweb property, a tracking entity intercepts a variable that has beengenerated by an online system (such as an online advertising system,content optimization system, and the like) to identify that user. Ingeneral, the variable is generated for the purpose of tracking theuser's web activity. When the user submits a form from that webproperty, the tracking entity invisibly appends said variable to theform submission. The form submission automatically turns into a recordin any inquiry tracking system (a commonplace practice in systems forleads management, customer service, and the like). As additionalinformation is entered into the record about the user's ensuingactivity—usually by an agent of the entity with which the user isinteracting as a follow up to the form submission—the tracking entityuses the variable and communicates the entered information to the onlinesystem.

The tracking entity translates the information into a format that theonline system can parse, and because it is accompanied by the variablethat the online system has generated, the online system automaticallyappends the information to the user associated with that variable. Thisresults in richer data sets about users that can be used to bettertarget online experiences, including advertising, content, and the like.Since the offline information is communicated in the same manner asonline activity (despite it not being online activity), it can be usedwith the same power and flexibility, as well as in real-time, andanonymously. Essentially, the tracking entity extends the capabilitiesof the online systems.

In a second variant of the present invention, various systems andmethods are adapted for phone call and leads tracking and management,including a system and method for bringing phone calls into an onlinecontext, enabling the association of phone calls with online data. Thiscan be accomplished by tracking phone calls in the same manner ason-website events, such as form submissions. The terms “leads” and“prospects” generally refer to prospective customers herein. The methodsand systems described herein may facilitate tracking, recording, andassociating data about the online, phone call, and offline activities ofleads or prospective customers. Advantageously, the methods describedherein can utilize a single phone number, which can be an existing phonenumber belonging to or maintained by or for the target business.

In some embodiments, such a method involves the following actions:

-   -   a. Placing “Call” buttons or links on a website of a target        business (hereinafter simply “business”).    -   b. When a visitor (“User”) clicks the “Call” button or link on        the website, a request is sent to a remote database of a        tracking entity (“Tracker”).    -   c. After verifying that the request is authentic, Tracker        creates a new record in the database and generates an identifier        (ID).    -   d. Tracker sends, or instructs the visitor's browser to send, a        tracking request labeled with the new record ID to the website's        analytics system.    -   e. Based on the new record ID, Tracker generates a network        resource locator, such as a uniform resource locator (URL) as        henceforth assumed herein to facilitate description. Note,        however, that other embodiments of the technology introduced        here may use a different kind of network locator for the same or        a similar purpose as the URL in the embodiments described        herein.    -   f. Phone connection is facilitated through a provider        (“Communications Provider”), and the call is forwarded to the        business.    -   g. Following call hang-up, details about call are posted to the        URL, and are thereby associated with the new record ID in the        database.    -   h. The site's analytics system is queried for visit details        associated with the record ID.

The specific details, which involve repeated communications between auser's browser, website analytics system, and leads database, are morefully described below.

In an embodiment, phone calls are tracked by associating activities of aUser on a website to a placed phone call or call session. For example, avisit to a link or a click on a website can result in a phone number andan extension being displayed. When that phone number is dialed and thatextension is entered during a call session, it can be determined thatparticular visitor activities resulted in that phone call beinginitiated.

In an embodiment, a method of tracking calls and/or leads is disclosed,in which a User visits or enters a website, triggering a request to besent to a database. The authenticity of the request to the database isverified, and a new record in the database is created. The new recordmay include a code such as a numeric code, and can be sent back to thebrowser and displayed as a phone extension. As the visitor navigates thewebsite, the current page URL associated with the extension may beupdated. When the visitor calls the business, the visitor may beprompted for the extension. The entered extension may be used toretrieve the information that has been associated with that extension,and a new record having a record ID may be recorded in the database.Using visit-specific details collected by the analytics system, arequest to label the website activities with a code corresponding to therecord ID may be sent to the analytics system. A URL may be generatedbased on the record ID. Once a phone call is analyzed (e.g., associatingthe phone call with a particular extension or recorded data about awebsite visit), the call may be forwarded to the business.

Following a hang-up or disconnection of the call, details about the callmay be posted to the URL and may be associated with the new record ID inthe database. The website may have an analytics system, which may bequeried for visit details associated with the record ID. Following thephone call, the associated extension may be deleted and made availablefor re-use. The method may be implemented as a system including one ormore servers providing data related to the website and the database,wherein each server comprises at least one computing system having atleast one data processor.

In an embodiment, a method for tracking a phone call and associating thecall with a visit to a website may include receiving a request sent to adatabase stored on a computer readable medium in response to an activityon the website. A record may be created in response to the request. Acode associated with the record may be generated. A call extensioncorresponding to the code such that the call extension is associatedwith the record may be assigned. A URL of a viewed page of the websitemay be associated with the call extension. The method may includetracking website visitor information relating to one or more viewedpages, and may also include updating the database with the visitorinformation.

A caller may be prompted to enter the call extension in response toestablishing a call connection. The information in the record associatedwith the call extension may be retrieved, and a record ID may be createdincluding such information. The record ID may be associated with boththe call connection and the activity on the website.

A request may be sent to a website data analytics system to create alabel such that the activity on the website and any data regardingvisitor details (e.g., any user information that may be collected orknown) are labeled with an ID that corresponds to the record ID. A URLbased on the ID that corresponds to the record ID may be generated.Details about the call connection may be posted to the URL followingdisconnection of the call connection. An analytics system may be queriedfor visit details associated with the label.

A request may be sent to create a bridge and a call ID of an incomingcall may be placed in the bridge. At least one call creation request toinitiate a call may be sent to a Communications Provider. The callcreation request may include a bridge ID that is associated with thebridge in a callback URL. When answered, the call initiated by theCommunications Provider may then be added to the bridge. A hang-uprequest may be sent for any call ID that is not in the bridge. Any phonenumber that is associated with the call ID of an incoming call that hasnot already been stored in the database may be stored.

Following termination of a call connection, an SMS may be initiatedwhich prompts or requests a reply containing any additional detailsabout the call connection. Any such additional details may be associatedwith the record ID.

In an embodiment, phone calls may be tracked by associating a visitor'sactivities on a website with a placed phone call or call session. Forexample, a visit to a link or a click on a website may result in a “callnow” or similar link being displayed. Upon entering the website or whenthe link is clicked, a request is sent to a server, which responds witha phone number and extension. When the phone number is dialed and thatextension is entered during a call session, it may be determined thatparticular visitor activities resulted in that phone call beinginitiated, and data from and after the call may be associated with thevisitor activities. Advantageously, the methods described herein maypreserve the original call flow and deliver detailed analytics,including which number on a page was clicked, while utilizing a singlephone number, which may be an existing phone number belonging to ormaintained by or for the business.

In an embodiment, a method of associating calls, as well as financialtransactions resulting from such phone calls, with Internet activitiesis disclosed. In particular, a User or visitor may visit or enter awebsite and see a “call now” link. When the link is clicked, a requestmay be sent to a database, and a new record in the database may becreated. The new record may be associated with a code such as a numericcode, and may be sent back to the browser and appended to the phonenumber as a phone extension. When the visitor calls the business, theextension may be automatically dialed. The entered extension may be usedto retrieve the information that has been associated with thatextension, including the record's record ID.

Using visit-specific details collected by the analytics system, arequest to label the website activities with a code corresponding to therecord ID may be sent to the analytics system. A URL may be generatedbased on the record ID. Once a phone call is analyzed (e.g., associatingthe phone call with a particular extension and/or recorded data about awebsite visit), the call may be forwarded to the business.

Following a hang-up or disconnection of the call, details about the callmay be posted to the URL and may be associated with the new record ID inthe database. The website may have an analytics system, which mayreceive a request to associate the visitor details and websiteactivities with an offline transaction. Some details of the transaction,such as revenue, may be manually keyed in to a computer system by aphone operator, while other information, such as the call cost, may beautomatically calculated based on a pre-defined cost variable and thecall length. Following the phone call, the associated extension may bedeleted and made available for re-use. The method may be implemented asa system including one or more servers providing data related to thewebsite and the database, wherein each server comprises at least onecomputing system having at least one data processor.

In an embodiment, a method of associating calls, as well as financialtransactions resulting from such phone calls, with Internet activitiesusing SMS is disclosed. In this embodiment, details about the financialtransactions may be typed in a text message according to a predefinedformat, and sent to a central system, which may further interpret themessage into a format that can be sent to a web analytics system forrecording a financial transaction associated with the Internetactivities. Thus, following termination of a call connection, an SMS maybe initiated which prompts or requests a reply containing any additionaldetails about the call connection. Any such additional details may beassociated with the record ID. The other steps in this embodiment areidentical, or substantially similar, to the previously describedembodiment.

In an embodiment, a method for tracking a phone call and associating thecall with a visit to a website and clicked HTML element may includereceiving a request sent to a database stored on a computer readablemedium in response to an activity on the website. The request mayinclude an identifying attribute of the clicked element. A record may becreated in response to the request. An identifying attribute of aclicked HTML element on the page of the website may be associated withthe record. A record ID associated with the record may be generated. Acall extension corresponding to the code such that the call extension isassociated with the record may be assigned.

A caller may be prompted to enter the call extension in response toestablishing a call connection. The information in the record associatedwith the call extension may be retrieved. The record ID may beassociated with both the call connection and the activity on thewebsite, including the identifying attribute of the clicked HTMLelement.

A request may be sent to a website data analytics system to create alabel such that the activity on the website and any data regardingvisitor details (e.g., any User information that may be collected orknown) are labeled with an ID that corresponds to the record ID. A URLbased on the ID that corresponds to the record ID may be generated.Details about the call connection may be posted to the URL followingdisconnection of the call connection. An analytics system may be queriedfor visit details associated with the label.

In an embodiment, a method of associating calls with Internet activitiesis disclosed. In particular, a User or visitor may visit or enter awebsite and see a “call now” link. When the link is clicked, a requestmay be sent to a database, and a new record in the database may becreated. The new record may be associated with a code, such as a numericcode, which may be sent back to the browser and appended to the phonenumber as a phone extension. When the visitor calls the business, theextension may be automatically dialed. The entered extension may be usedto retrieve the information that has been associated with thatextension, including the record ID.

The website may have an analytics system, which may collectvisit-specific details. A request to label the website activities with acode corresponding to the record ID may be sent to the analytics systemusing these visit-specific details. The phone call may be routed to thebusiness, which communicates with a remote system about the dialedextension. This facilitates analysis of the phone call (e.g.,associating the phone call with a particular extension and/or recordeddata about a website visit).

During the communication, the extension is swapped for a record ID,which is used in later communications to send and receive data about thecall record. Following a hang-up or disconnection of the call, eachsystem may send or receive details about the call, along with the callrecord ID, and may associate such details with the record ID in itsdatabase. Following the phone call, the associated extension may bedeleted and made available for re-use. The method may be implemented asa system including one or more servers providing data related to thewebsite and the database, wherein each server comprises at least onecomputing system having at least one data processor.

In another disclosed embodiment of a method of associating calls withInternet activities, a visit to a link or a click on a website mayresult in a phone number and an extension being displayed. When thatphone number is dialed and that extension is entered during a callsession, it may be determined that particular visitor activitiesresulted in that phone call being initiated. In particular, a User orvisitor may visit or enter a website and send a request to a database. Anew record in the database may be created. The new record may include acode such as a numeric code, and may be sent back to the browser anddisplayed as a phone extension. As the visitor navigates the website,the current page URL associated with the extension may be updated. Whenthe visitor calls the business, the visitor may be prompted for theextension. The other steps in this embodiment are identical, orsubstantially similar, to the previously described embodiment.

In another embodiment, a method for tracking a phone call andassociating the call with a visit to a remote website may includereceiving a request sent to a database stored on a computer readablemedium in response to an activity on the website. The request mayinclude an identifying attribute of the remote website. A record may becreated in response to the request. An identifying attribute of a remotewebsite may be associated with the record. A record ID associated withthe record may be generated. A call extension corresponding to the codesuch that the call extension is associated with the record may beassigned and may be sent back to the browser and appended to the phonenumber as a phone extension. The other steps in this embodiment areidentical, or substantially similar, to the previously describedembodiment.

Systems for tracking calls and/or leads are disclosed herein. The systemmay include one or more non-transitory computer readable storage mediumsstoring instructions that, when executed by a computing system, causethe computing system to perform a method to track calls by associatingthe calls with online Internet activities. The method executed by thecomputing system may include the steps discussed with respect to any orall of the above-described methods of tracking calls.

In addition, the system encourages each business to manage allfollow-ups and continue updating the lead record beyond the initialphone call via the system dashboard. By doing so, eventually attachingto the record a figure value, the business can attribute revenuesdirectly to each marketing effort. This “lead management” often involvesrepeated e-mail communications where either side—the business or thelead—may need to include file attachments. Currently accepted methodsinvolve the leads tracking system provider storing such attachments onits own servers, compelling it to charge for such storage.

The present disclosure leverages a business' hosting platform—whichusually has ample unused data storage space—to solve this issue whilemaintaining file privacy. In certain embodiments, the method caninvolve:

-   -   a. Creating a folder to store all file attachments on the        business' hosting platform (e.g., “attachments”).    -   b. Storing a message representing e-mail communication in the        leads management system database, along with the original        filename; a message ID is created.    -   c. Generating a hash for each file attachment based on the        filename paired with a salt value created from a combination of        the filename and a constant ID of the business/user.    -   d. Naming the file with the hash value, and storing it in the        “attachments” folder from step 1, preceded by the message ID;        this prevents files with the same name sent by different users        within the same business and/or in different messages from being        overwritten.    -   e. When the message is later retrieved on the system, the links        to download the files are generated from the filename and ID        (constant).

To access any of the files, an external hacker would need to eitherguess a long, random string, or know the exact filename, message ID, aswell as the business' ID; neither scenario is likely.

These and other features of the present disclosure and the specificdetails will be more fully described with reference to the accompanyingfigures.

BRIEF DESCRIPTION OF THE DRAWINGS

By way of description only, embodiments of the present disclosure willbe described herein with reference to the accompanying drawings.

FIG. 1 presents a flowchart illustrating an embodiment of the methodwith a single user, where a phone call is completed through a browser,and call recording is enabled;

FIG. 2 presents a flowchart illustrating an embodiment of the methodwith a single user, where a phone call is completed through a browser,and call recording is disabled;

FIG. 3 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through a browser,and call recording is enabled;

FIG. 4 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through a mobiledevice or softphone, and call recording is enabled;

FIG. 5 presents a flowchart illustrating an embodiment of the methodwith an external leads management system, where a phone call iscompleted through the browser, and call recording is enabled;

FIG. 6 presents a flowchart illustrating an embodiment of the methoddemonstrating an alternate way of distributing the identifier to the webanalytics system, with multiple users, where a phone call is completedthrough the browser, and call recording is enabled;

FIG. 7 presents a flowchart illustrating an embodiment of the methodwith an external leads management system, utilizing an alternate webanalytics system, with multiple users, where a phone call is completedthrough the browser, and call recording is enabled;

FIG. 8 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through thebrowser, and SMS as an alternate way of connecting the phone callcontent to other data;

FIG. 9 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through thebrowser, and e-mail as an alternate way of connecting the phone callcontent to other data;

FIG. 10 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through thebrowser, and enabling adjustment of follow-on advertising based oncaller behavior on the phone call and thereafter;

FIG. 11 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through a mobiledevice or softphone, and enabling adjustment of follow-on advertisingbased on caller behavior on the phone call and thereafter;

FIG. 12 presents a flowchart illustrating an embodiment of the methodwith multiple users, enabling adjustment of follow-on advertising basedon a visitor's form submission;

FIG. 13 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through thebrowser, and importing of call data to a remote system, such as anadvertising platform;

FIG. 14 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through thebrowser, and automatically sending notifications about call data to aremote system, such as an advertising platform;

FIG. 15 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through a mobiledevice or softphone, and importing of call data to a remote system, suchas an advertising platform;

FIG. 16 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call connection is initiated inresponse to a form submission, and call recording is enabled;

FIG. 17 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call originates in network contentother than a business' website, the call being completed through amobile device or softphone, and call recording is enabled;

FIG. 18 presents a flowchart illustrating an embodiment of the methodwith respect to storing file attachments associated with outgoingmessages;

FIG. 19 presents a flowchart illustrating an embodiment of the methodwith respect to storing file attachments associated with incomingmessages;

FIG. 20 presents a flowchart illustrating an embodiment of the methodwith respect to storing file attachments associated with formsubmissions;

FIG. 21 presents a flowchart illustrating an embodiment of the methodwith multiple users, where network content is accessed through onedevice, and the phone call is completed through another device, and callrecording is enabled;

FIG. 22 presents a flowchart illustrating an embodiment of the methodwith multiple users, where network content is accessed through onedevice, and the phone call is completed through another device,returning visitors are detected, and call recording is enabled;

FIG. 23 presents a flowchart illustrating a method for determining anoptimal extension according to yet another embodiment;

FIG. 24 presents a chart of tables illustrating a database structureaccording to an embodiment of the technology introduced here;

FIG. 25 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through a mobiledevice or softphone, the call being forwarded to multiple phone numbers,and SMS as a way of connecting the phone call content to other data;

FIG. 26 is a flowchart illustrating a method for identifying from agroup of phone numbers the first party to answer a phone call and savingthe information for future reference according to another embodiment ofthe present disclosure;

FIG. 27 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through a mobiledevice or softphone, and data about call-prompting elements beingcollected and processed into visual reports;

FIG. 28 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through a mobiledevice or softphone, and recording data about financial transactionsoccurring during and/or after the call;

FIG. 29 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call is completed through a mobiledevice or softphone, and using SMS as an alternate way of recording dataabout financial transactions occurring during and/or after the call;

FIG. 30 presents a flowchart illustrating an embodiment of the methodwith multiple users, where a phone call originates in network contentother than a business' website, the call being completed through amobile device or softphone, and using SMS as an alternate way ofrecording data about financial transactions occurring during and/orafter the call;

FIG. 31 presents a flowchart illustrating an embodiment of the methodusing remote communication, with multiple users, where a phone call iscompleted through a mobile device or softphone;

FIG. 32 presents a flowchart illustrating an embodiment of the methodusing remote communication, with multiple users, where network contentis accessed through one device, and the phone call is completed throughanother device;

FIG. 33 presents a flowchart illustrating an embodiment of the methodusing remote communication, with multiple users, where a phone calloriginates in network content other than a business' website, the callbeing completed through a mobile device or softphone;

FIG. 34 presents a flowchart illustrating an embodiment of the methodusing remote communication, with multiple users, where custominformation collected about the visitor attached to the call, the callbeing completed through a mobile device or softphone;

FIG. 35 presents a flowchart illustrating an embodiment of the methodusing remote communication, with multiple users, where custominformation collected about the visitor attached to the call, andnetwork content is accessed through one device, while the phone call iscompleted through another device;

FIG. 36 shows a network environment in which the technology introducedhere can be implemented;

FIG. 37 is a high-level block diagram of a computer systemrepresentative of any of the various computing devices described herein;

FIG. 38 presents a schematic diagram of an exemplary network environmentemploying an identifier for collection of call records and/or otheractivities of a user; and

FIG. 39 presents an exemplary high-level schematic diagram of a computersystem representative of any of the various computing devices describedherein.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

The following description with reference to the accompanying drawings isprovided to assist in a comprehensive understanding of the exemplaryembodiments. It includes various specific details to assist in thatunderstanding but these are to be regarded as merely exemplary. Theterms and words used in the following description and claims are notlimited to bibliographical meanings or any extrinsic dictionarydefinition, but are merely used by the inventor to enable a clear andconsistent understanding of the disclosure. The terms used herein mustbe understood based on the descriptions made herein, and are definedherein according to the functions of the present disclosure. Those ofordinary skill in the art will recognize that various changes andmodifications of the embodiments described herein can be made withoutdeparting from the scope and spirit of the disclosure. Descriptions ofwell-known functions and constructions may be omitted for clarity andconciseness.

The following terms are used throughout this description with thefollowing meanings:

A “Business” is a person, establishment or other entity that advertisesto attract phone calls.

A “Target Website” is a website that a Business maintains on one or moreserver computers. A Target Website may display a phone number and/orextension such that a visitor to the Target Website can contact theBusiness via the phone number and/or extension displayed on the TargetWebsite.

A “User” is a person who visits a Target Website or accesses any othernetwork-based content (e.g., marketing property) of a Business.

A “Tracker” is an entity and/or service, which is typically external tothe Business, that tracks and associates data related to voice callsmade to a Business with data related to website visits and/or otherforms of accessing network-based content of a Business. In general, aTracker can adapt to any external system or service that the TargetWebsite selects, provided that such system has a public-facingapplication programming interface (“API”) that allows for remote callsfor retrieval, additions, recording, and/or alterations of data. In someembodiments a Tracker may also (or instead) associate data collectedafter a phone call by a User to a Business (e.g., data relating to afollow-on purchase) with data related to the User having accessednetwork-based content of a Business (e.g., a website). Tracker maycommunicate with other systems (e.g., a Communications Provider, CapableEntity, Lead Manager, Analytics Account, Advertising Account, or ForeignDomain) via, for example, HTTP POST requests, HTTP GET requests, or acombination thereof.

A “Lead Manager” is one example of an external service referred toabove, e.g., a leads management system. Examples of suitable leadsmanagement systems may include those provided by FUTURE SIMPLE,SALESFORCE, and the like. A similar example may be that of a callmanagement dashboard utilized by a call center, such as FIVES.

A “Communications Provider” refers to a communications service thatenables forwarding incoming phone calls to pages of code. Possibleexamples of a Communications Provider include TWILIO, PLIVO andBANDWIDTH.

A “Tracking Number” is a number that Business may maintain atCommunications Provider. A Tracking Number may be a general number foronline inquiries, and may be configured to generically forward calls ifno extension is dialed. Alternatively, Target Website may maintain aphone number outside of Communications Provider, and may have all callsforwarded to a designated Tracking Number at Communications Provider.

An “Analytics Account” is an account of an analytics tool/system ofBusiness, which is another example of an external service referred toabove; and an example of such an analytics tool/system is GOOGLEANALYTICS.

An “Advertising Account” is an account with an online advertisingplatform, which is another example of an external service referred toabove; and an example of such an online advertising platform is GOOGLEADWORDS. The advertising platform can be, for example, any advertisingplatform that can accept remote requests and/or imported conversions inthe form of file uploads, for example. The advertising platform may alsorefer to a media-buying platform that incorporates information about aUser's activity into its algorithms.

A “Tracking Cookie” is a cookie that may be used to track onlineactivity. A Tracking Cookie may be associated with an analytics tool,such as that provided by GOOGLE ANALYTICS or the like, where the cookiecan be the _utma or _utmb cookie utilized by GOOGLE ANALYTICS. The _utmacookie values are used to distinguish users and sessions and are createdwhen a JAVASCRIPT library executes and no existing _utma cookies exist.The _utma cookie is updated every time data is sent to GOOGLE ANALYTICS.The _utmb cookie values are used to determine new sessions/visits andare created when the JAVASCRIPT library executes and no existing _utmbcookies exist. The _utmb cookie is updated every time data is sent toGOOGLE ANALYTICS. Alternatively, a Tracking Cookie may be associatedwith an advertising platform, such as that provided by GOOGLE ADWORDS orthe like, where the cookie would be the globally unique trackingparameter or GOOGLE Click Identifier (“gclid”) utilized by GOOGLEADWORDS. A Tracking Cookie may have a Tracking Cookie value that may beused to distinguish among Users and sessions. Such cookies may becreated when the JAVASCRIPT library executes and/or when no existingtracking cookies exist.

Note that, although the methods introduced here are described as usingGOOGLE ANALYTICS, any other cookie-based analytics system that usesunique values to identify Users and visits and that can be queried forvisitor details associated with a label could be substituted. Themethods may also be modified to accommodate an analytics system thatdoes not utilize cookies and instead relies on user-specific profile IDsor a similar unique variable to identify a user, provided that theprofile ID can be retrieved and queried remotely and that subsequentinformation associated with the profile ID can be recorded remotely.

A “Remote Tracking Request” refers to a request sent from a server tothe Analytics Account using the Tracking Cookie value.

An “Operator” is an employee or agent of a Business, whether real orvirtual, handling lead management on behalf of the Business.

A “Foreign Domain” is an online property, other than Target Website,where Business may display a phone number, such as a classified adswebsite (e.g. Craigslist).

A “Scripted Inbox” is an e-mail account with a platform that allowslistening for incoming e-mail communication and forwarding thecommunication to pages of code, commonly available with cloud computingservices such as GOOGLE APP ENGINE.

An “Element ID” is an identifying attribute of a call-prompting button,link, or other HTML element.

A “Capable Entity” is Business with a system capable of collecting thesounds associated with strokes on a phone keypad (e.g., DTMF sounds),interpreting them into computer digits, and communicating the digits aswell as other information to an external system via the Internet. Such aphone system may be managed internally by Business or outsourced to aprovider of such systems. Note that certain Communications Providers mayalso qualify as Capable Entity.

Each computer comprising at least one microprocessor, a digital memorystorage device, and a communication circuit.

Refer now to FIG. 36, which illustrates an environment in which thetechnology introduced here can be implemented. The environment includesa Business 3601, which has a website (“Target Website”) 3602 and atelephone system 3603. Target Website 3602 and telephone system 3603each can be, but is not necessarily, operated directly by the Businesson a physical premises of the Business; note, however, that hosting ofthe website and/or operation of the telephone system may be contractedout by the Business to one or more third-parties. The environmentfurther includes a tracking entity (“Tracker”) 3604, a CommunicationsProvider (e.g., TWILIO) 3605, and an analytics system (e.g., GOOGLEANALYTICS) 3606.

In an illustrative usage scenario, a User 3607 accesses Target Website3602 of Business 3601 by using, for example, a conventional end-userdevice 3608, such as a personal computer 3608A or a mobile device 3608B,such as a Smartphone or tablet computer. The User's access to TargetWebsite 3602 may be provided through and by Communications Provider3605. In this usage scenario, User 3607 is motivated by content on theTarget Website 3602 to make a voice call to Business 3601, for example,to phone system 3603 of Business 3601, by using for example, his or hercomputer 3608A, mobile device 3608B (e.g., Smartphone or tablet),landline phone 3608C, or other end-user device. Note that in otherembodiments, described further below, User's decision to make a voicecall to Business 3601 may be motivated by network-based content otherthan a website that User accesses, such as an e-mail, video, ormicro-blog entry (e.g., Tweet) from or associated with Business 3601.The voice call can be connected via Communications Provider 3605, whichcan be but is not necessarily the same communications provider throughwhich User 3607 accessed Target Website 3602.

As described in greater detail below, the main functionality of Tracker3604 is to associate data relating to User's accessing of Target Website3602 (or other network-based content) to data related to User's voicecall to Business 3601, or to facilitate such association of data. Insome embodiments, Tracker 3604 associates information acquired orrecorded after the call, with the data relating to User's accessing ofTarget Website 3602 (or other network-based content). Tracker 3604includes and/or uses a server computer system 3609 to carry out theaforementioned functionality, and maintains a database 3610 to store theassociated information. Additionally, Tracker 3604 can provide such datato the analytics system 3606, to enable subsequent search and retrievalof the associated information. The computer system 3609, and any other“computer system” referred to herein, can be any type of data processingdevice or system capable of performing the functions attributed to it inthis description. Additionally, computer system 3609, and any other“computer system” referred to herein, can be embodied as a single deviceor as multiple devices acting in cooperation with each other. In thecase of multiple devices acting in cooperation with each other, thedevices can be connected to each other directly or through one or moredata networks, such as a local area network (LAN), personal area network(PAN), or the like. Note also that database 3610 can be a part ofcomputer system 3609, even though it is depicted separately in FIG. 36.

FIG. 1 shows a process by which a leads tracking system can operate inaccordance with the technology introduced here. The process of FIG. 1can be performed in an environment such as that illustrated in FIG. 36,described above. Likewise, unless indicated otherwise, each entity shownin FIG. 36 is an example of any entity referred to by the same term(e.g., “User,” “Business,” “Tracker” or “Communications Provider”)anywhere in this description and associated drawings, even though thereference numerals for such entities may be omitted henceforth in thisdescription. It can be assumed that all functions and operationsattributed to a Tracker in this description are actually performed byone or more computer systems or other processing device(s) owned oroperated by the Tracker (e.g., server computer system 3609 in FIG. 36),unless indicated otherwise.

In the illustrated embodiment of FIG. 1, User executes an action at step10 that takes User to Target Website, such as clicking on an ad,clicking on a search link, or clicking on a referring link, etc. Next arequest is sent to Tracker once Target Website has loaded at step 12.The request can be sent from User's browser to Tracker, using aJAVASCRIPT snippet that Business adds to Target Website's code. TheJAVASCRIPT may reference code on Target Website or Tracker.Alternatively, Target Website may make a server-side request to Trackeras soon as User's browser sends a request to load pages from TargetWebsite, before Target Website has actually loaded at User's browser.

Tracker then sends a request at step 14 to Communications Provider,which in turn generates a unique token. Tracker then stores the token atstep 16 and sends it to User's browser, where it is used to display a“call” link or button that enables phone calls to be made through User'sbrowser. If the communication provider used were TWILIO, the token wouldbe used to initiate an instance of TWILIO Client, which enables phonecalls to be made through User's browser, and would display a “call” linkor button on the website page. User then clicks the “call” link at step18 and a request is sent to Tracker with the token. At step 20, Trackerverifies that the token sent by User is valid and authentic. If thetoken is determined to be valid and authentic, Tracker creates a newlead record in the Target Website's leads database table and sends backa record identification code to User's browser. The recordidentification code (or call record ID) mentioned herein assists Trackerin uniquely identifying the record in its database. If the token isdetermined not to be valid and authentic, Tracker will ignore therequest, as it is not associated with an actual visit to the website.The token is used to protect Business from unauthorized phone callsinitiated by hackers or malicious software. User's browser receives therecord identification code at step 22 and sends a request to theAnalytics Account. If the Analytics Account used were GOOGLE ANALYTICS,the request may be a trackEvent request labeled with the recordidentification code. User's browser then sends a connection request withthe token and record identification code to Communications Provider atstep 24. This connection request forwards to a page of code at Trackerat step 26 that generates a uniform resource locator (“URL”), commonlycalled a web address, based on the record identification code (e.g.,“www.tracker.com/call-hangup-script.php?recordID=35”). The codeinstructs Communications Provider at step 28 to dial Business' phonenumber (or connect to Business' softphone, such as a browser-basedphone, wherein a softphone refers to a software program for makingtelephone calls over the Internet using a general purpose computer,rather than using dedicated hardware) and to submit details about thecall following termination of the phone call to the URL at Tracker.Following phone call termination, the URL at Tracker receives detailsfrom Communications Provider at step 30, such as a call recording URL,and associates them with the record identification code. Finally,Tracker connects to the Analytics Account at step 32 and queries for allvisitor details associated with the request labeled with the recordidentification code. Note that while the example of a URL is describedhere, other embodiments of the technology introduced here may use adifferent kind of network locator for the same or a similar purpose asthe URL in the embodiments described herein.

There are several alternatives to sending the request referenced insteps 18-20. In one scenario, Tracker may utilize an identifier that hasalready been created. For instance, Tracker may collect a TrackingCookie and use this value in lieu of generating Tracker's recordidentification code. Tracker may also generate the identification codeon page load, in step 12.

Another possibility, which would also eliminate the requests referencedin steps 22 and 32, may involve submitting the tracking data togetherwith the communication request at step 24. In addition to providinginstructions on handling the call at steps 26-28, the code may populatethe available data into a database of Tracker or another system, such asLead Manager. Note that in this alternative, data related to accessingnetwork-based content is limited to the information available andcollected at the time of the connection request (e.g., informationspecific to the connection request cannot be collected later). This canbe remedied by collecting and submitting a Tracking Cookie with theconnection request, and later using the Tracking Cookie to send a RemoteTracking Request that incorporates a record identification code, whichwould then permit retrieving information specific to the record at theexternal system via another remote request. In this scenario, the URLmay incorporate the data instead of the record ID, e.g.,“www.tracker.com/call-hangup-script?source=google&keyword=flowers.”

Yet another scenario may involve Tracker establishing its own trackingdata, which may be submitted together with the connection request atstep 24. This data may be associated with an identifier generated byTracker, such as a Tracking Cookie, or a pre-specified identifier suchas an IP address. If the data is associated with an identifier, Trackermay elect to send only the identifier at step 24, and use thatidentifier to retrieve the associated data later.

In any scenario where data is available prior to the connection request,Tracker may utilize the data to route the connection request. Forinstance, Tracker may decide to route a connection request associatedwith a visit from a web search to a certain destination (e.g., networklocator), and a connection request associated with a visit from a bannerad to another destination (e.g., network locator).

Note that in all of these scenarios, Tracker may elect to use the datato assign records to a specific Operator. In this process, Tracker mayfollow rules pre-specified by Business. To further assist Operator inidentifying a record corresponding to a phone call, Tracker may instructCommunications Provider to announce some or all of the data to Operatorprior to connecting the call.

If Business does not receive simultaneous calls, or the likelihood ofsimultaneous calls is very low, and Operator is generally availablethroughout the day, call recording may not be necessary. In thisembodiment, the system would follow the flow chart illustrated in FIG.2. Steps 10 through 24 are the same in FIG. 2 as in FIG. 1. Then, atstep 34 the connection request forwards to a page of code at Trackerthat creates a new blank lead record associated with the recordidentification code and marks this record as “in call.” This codereplaces the instructions to record the call described in the previousscenario. The code then instructs Communications Provider at step 36 todial Business' phone number and User's call is forwarded to Business'phone number. Operator answers the phone and refreshes the dashboardscreen at Tracker at step 38. Upon refreshing, Operator sees an “incall” record—the one associated with the incoming phone call—and opensthis record to enter User's details, such as name, phone number, etc.obtained during the call. At step 40, Tracker connects to the AnalyticsAccount and queries for all visitor details associated with the requestlabeled with the record identification number.

In another embodiment, Tracker may maintain a single phone number formultiple Businesses. This allows Tracker to centralize all calls,eliminating each Business' need to hold a phone number withCommunications Provider by Tracker holding a single phone number withCommunications Provider, which processes and forwards the calls to theappropriate Business. This call forwarding may be done with or withoutcall recording as described above in FIGS. 1 and 2, depending on eachBusiness' individual preferences.

When the method is implemented in a “primary context” leads trackingsystem, such as in FIGS. 1 through 4, Tracker can provide addedflexibility by maintaining a separate set of database tables for eachBusiness, built around the fields of information that are unique to itsneeds. For example, Business A may want a database built around acustomer's first and last name, a customer's company name, customer'sphone number, and/or any other fields of information that may berelevant. This enables Business A to store first and last name in asingle field, Business B to have a single phone number field (instead ofhome and mobile), and/or Business C to eliminate a “company” field,among other options. The table names in each such set may be prefixedwith each Business' username, e.g. “businessA_leads”,“businessA_leads_comments” and “businessB_leads”,“businessB_leads_comments”, and so forth. Since popular databasesystems—such as mySQL—allow a finite number of tables in any singledatabase, scaling the system may require dozens of databases, with asingle main database that holds each username and a reference to thedatabase where all the tables relating to that username reside.

In this embodiment, the system would follow the flow chart illustratedin FIG. 3. Steps 10 through 12 are the same in FIG. 3 as in FIG. 1.Tracker then sends a request at step 42 to Communications Provider,which in turn generates a unique token that is associated with TargetWebsite. At step 44, Tracker stores the token associated with TargetWebsite and sends it to User's browser, where it is used to display a“call” button or link. User then clicks the “call” link or button atstep 46 and a request is sent to Tracker with the token associated withTarget Website. At step 48, Tracker then verifies that the tokenassociated with Target Website sent by User is valid and authentic. Ifthe token is determined to be valid and authentic, Tracker creates a newlead record in Tracker's leads database table associated with TargetWebsite and sends back a record identification code to User's browser.User's browser receives the record identification code at step 50 andsends a request to the Analytics Account, such as a trackEvent requestto GOOGLE ANALYTICS, labeled with the record identification code. User'sbrowser then sends a connection request with the token, Target Website'susername, and the record identification code to Communications Providerat step 52. This connection request forwards to a page of code atTracker at step 54 that generates a URL based on the recordidentification code. The code instructs Communications Provider at step56 to dial Target Website's phone number, which is located in Tracker'sdatabase, and to submit details about the call following termination ofthe phone call to the URL at Tracker. Following phone call termination,the URL at Tracker receives details at step 58, such as call recordingURL, and associates them with the record identification code. Finally,Tracker connects to the Analytics Account at step 60 and queries for allvisitor details associated with the request labeled with the recordidentification code.

In a fourth embodiment of the technology introduced here, a User may usehis/her mobile phone to communicate with Business. Currently, theability to dial phone calls from browsers using plug-ins such as TWILIOClient relies on Adobe Flash or web real-time communication (WebRTC),which are not supported in most mobile browsers, including APPLE's iOSand most versions of GOOGLE's ANDROID. However, WebRTC is supported in arecent release of the GOOGLE web browser CHROME for ANDROID. It iscontemplated that calls made from a mobile phone could still be trackedas in the embodiments discussed above, associating each incoming callwith the most recent lead record created at Tracker. However, droppedcalls and delays, which are associated with mobile phones, render suchsystems error-prone. The embodiment illustrated in FIG. 4 resolves thiserror-prone issue associated with mobile phones in a customer-friendlymanner. At step 100, User executes an action that takes User to TargetWebsite, such as clicking on an ad, clicking on a search link, orclicking on a referring link, etc. Next, a request is sent from theaccessed web page to Tracker once Target Website has loaded at step 102.Tracker sends User's browser a token at step 104, which is visible toUser as a “call now” link. This “call now” link remains empty—there isno phone number associated with it—until User clicks the link. Userclicks the “call now” link at step 106 and a request is sent to Trackeralong with the token. Tracker verifies that the token is valid andauthentic at step 108. If Tracker determines that the token is valid andauthentic, it creates a new lead record associated with Target Websiteand a record identification code in Tracker's database. In step 110Tracker stores the record identification code in a temporary table andassigns to it an extension, which may be a single-digit such as “1.” Therecord identification code, Tracking Number, and the extension are thensent to User's browser. User's browser receives the recordidentification code at step 112, and sends a request to the AnalyticsAccount, such as a trackEvent request to GOOGLE ANALYTICS, labeled withthe record identification code. Using JAVASCRIPT, User's browserdynamically populates the “call now” link with the Tracking Number andextension at step 114. A call alert then opens in a pop-up window onUser's browser with the Tracking Number and extension. The User clicks“call” at step 116 and the call is placed to the Tracking Number, withthe extension being automatically dialed. The call forwards to a page ofcode (e.g., a page in a server-side programming language, for example,PHP) at Tracker that instructs Communications Provider to gather thedialed extension at step 118 and submit it to a second page of code atTracker, along with Target Website's username, which is identified bythe dialed phone number. At step 120, the second page of code searchesTracker's database, specifically Target Website's temporary table, forthe extension, retrieves the record identification code, adds User'sphone number to the database, and generates a URL based on the recordidentification code. Tracker then instructs Communications Provider todial Business' real phone number (not owned or forwarded toCommunications Provider), which is located from Target Website'susername, at step 122, and to submit details about the call followingtermination of the phone call to the URL at Tracker. Following hang-upat step 124, the URL at Tracker receives details such as call recordingURL, and associates them with the record identification code. The recordidentification code and the extension are then deleted from thetemporary table, and the extension is available for re-use by thesystem. Alternatively, Tracker may instruct Communications Provider toforward the call to a fixed URL, and when receiving details about thecall from Communications Provider at step 124, Tracker may use the“From” number to search the database for the latest record with thatphone number, which was added to the database in step 120 (note that inthis scenario, an extension may not be necessary). Finally, at step 126,Tracker connects to the Analytics Account and queries for all visitordetails related to the request labeled with the record identificationcode.

In yet another embodiment, the method can be adapted to integrate withany Lead Manager. In at least one such embodiment, Tracker acts as aninterpreter between Lead Manager, Communications Provider, and theAnalytics Account. Tracker generates an ID or record identificationcode, sends the code to both Lead Manager and Analytics Account, andthen forwards the call to Business. An example of such an embodiment isillustrated in FIG. 5. In the illustrated embodiment, User executes anaction at step 150 that takes User to Target Website, such as clickingon an ad, clicking on a search link, or clicking on a referring link,etc. Next a request is sent to Tracker once Target Website has loaded atstep 152. Tracker then sends a request at step 154 to CommunicationsProvider which in turn generates a unique token that is associated withTarget Website. At step 156, Tracker stores the token associated withTarget Website and sends it to User's browser, where it is used todisplay a “call” link or button. User then clicks the “call” link orbutton at step 158 and a request is sent to Tracker with the tokenassociated with Target Website. At step 160, Tracker verifies that thetoken associated with Target Website sent by User is valid andauthentic. If the token is determined to be valid and authentic, Trackersends a “create” request to Lead Manager, such as SALESFORCE, whichreturns a record identification code. This record identification code isthen sent back to User's browser. User's browser receives the recordidentification code at step 162 and sends a request to the AnalyticsAccount, such as a trackEvent request to GOOGLE ANALYTICS, labeled withthe record identification code. User's browser then sends a connectionrequest with the token, Target Website's username and the recordidentification code to Communications Provider at step 164. Thisconnection request forwards to a page of code at Tracker at step 166that generates a URL based on the record identification code. The codeinstructs the Communications Provider at step 168 to dial Business'phone number, which is located in Tracker's database, and to submitdetails about the call following termination of the phone call to theURL at Tracker. Following phone call termination, the URL at Trackerreceives details at step 170, such as call recording URL, and requestsLead Manager to update the record of the identification code with saiddetails. Finally, Tracker connects to the Analytics Account at step 172,queries for all visitor details related to the request labeled with therecord identification code, and then populates Lead Manager. If LeadManager were SALESFORCE, for example, Tracker would populate the“Campaign” object in SALESFORCE.

Another embodiment of the technology introduced here is illustrated inFIG. 6. In this embodiment the method is substantially similar to themethod illustrated in FIG. 5, except the method can be completed with orwithout call recording, or any number of variables, depending onBusiness' individual preferences. At step 200, a User executes an actionthat takes User to Target Website, such as clicking on an ad, clickingon a search link, or clicking on a referring link, etc. Next a requestis sent to a Tracker once Target Website has loaded at step 202. Trackerthen sends a request at step 204 to Communications Provider, which inturn generates a unique token that is associated with Target Website. Atstep 206, Tracker stores the token associated with Target Website andsends it to User's browser, where it is used to display a “call” link orbutton. User then clicks the “call” link or button at step 208 and arequest is sent to Tracker with the token associated with TargetWebsite. At step 210, Tracker verifies that the token associated withTarget Website sent by User is valid and authentic. If the token isdetermined to be valid and authentic, Tracker sends a “create” requestto Lead Manager, which returns a record identification code. This recordidentification code is then sent back to User's browser. User's browserreceives the record identification code at step 212 and sends a requestto the Analytics Account, such as a setCustomVar request to GOOGLEANALYTICS, labeled with the record identification code. User's browserthen sends a connection request with the token, Target Website'susername and the record identification code to Communications Providerat step 214. This connection request forwards to a page of code atTracker at step 216 that generates a URL based on the recordidentification code. The code instructs Communications Provider at step218 to dial Business' phone number, which is located in Tracker'sdatabase, and to submit details about the call following termination ofthe phone call to the URL at Tracker. Following phone call termination,the URL at Tracker receives details at step 220, such as call recordingURL, and requests Lead Manager to update the record of theidentification code with said details. Finally, Tracker connects to theAnalytics Account at step 222 and queries for all visitor detailsrelated to the visit with the request labeled with the recordidentification code.

Another embodiment of the technology introduced here is illustrated inFIG. 7. In this embodiment the method is illustrated as using alternateanalytics software. Instead of using GOOGLE ANALYTICS as described abovein FIG. 5, the method may use SALESFORCE as the Lead Manager and CLICKYANALYTICS as the Analytics Account. In the illustrated embodiment, aUser executes an action at step 250 that takes User to Target Website,such as clicking on an ad, clicking on a search link, or clicking on areferring link, etc. Next a request is sent to Tracker once TargetWebsite has loaded at step 252. Tracker then sends a request at step 254to Communications Provider, which in turn generates a unique token thatis associated with Target Website. At step 256, Tracker stores the tokenassociated with Target Website and sends it to User's browser, where itis used to display a “call” link or button. User then clicks the “call”link at step 258 and a request is sent to Tracker with the tokenassociated with Target Website. At step 260, Tracker then verifies thatthe token associated with Target Website sent by User is valid andauthentic. If the token is determined to be valid and authentic, Trackersends a “create” request to Lead Manager, which returns a recordidentification code. This record identification code is then sent backto User's browser. User's browser receives the record identificationcode at step 262 and sends a request to the Analytics Account labeledwith the identification code, such as a log request titled with theidentification code to CLICKY ANALYTICS. User's browser then sends aconnection request with the token, Target Website's username and therecord identification code to Communications Provider at step 264. Thisconnection request forwards to a page of code at Tracker at step 266that generates a URL based on the record identification code. Trackerinstructs Communications Provider at step 268 to dial Business' phonenumber, which is located in Tracker's database, and to submit detailsabout the call following termination of the phone call to the URL atTracker. Following phone call termination, the URL at Tracker receivesdetails at step 270, such as call recording URL, and requests LeadManager to update the record of the identification code with saiddetails. Finally, Tracker connects to the Analytics Account, such as theCLICKY ANALYTICS account, at step 272 and queries for all visitordetails related to the request labeled with the record code, such as thelog titled with the record identification code, and then populates LeadManager with the information. If the Lead Manager used were SALESFORCE,Tracker would populate the “Campaign” object in SALESFORCE.

In yet another embodiment of the technology introduced here, the methodcan be adapted to utilize short message service (“SMS”), also known astext messaging. SMS allows Business to associate a phone call withvisitor data by communicating with Tracker via text messages. The samemethod can be used to send updates about a User record. This embodimentis illustrated in FIG. 8. At step 300, User executes an action thattakes User to Target Website, such as clicking on an ad, clicking on asearch link, or clicking on a referring link, etc. Next a request issent to Tracker once the requested resource on Target Website has loadedby User's browser at step 302. Tracker then sends a request at step 304to Communications Provider, which generates a unique token that isassociated with Target Website. At step 306, Tracker stores the tokenassociated with Target Website and sends it to User's browser, where itis used to display a “call” link. User then clicks the “call” link atstep 308 and a request is sent to Tracker with the token associated withTarget Website. At step 310, Tracker verifies that the token associatedwith Target Website sent by User is valid and authentic. If the token isdetermined to be valid and authentic, Tracker sends a “create” requestto Lead Manager, which returns a record identification code. Trackerthen sends this record identification code (or generate Tracker's ownrecord ID) back to User's browser. User's browser receives the recordidentification code at step 312 and sends a request to the AnalyticsAccount, such as a trackEvent request to GOOGLE ANALYTICS, labeled withthe record identification code. User's browser then sends a connectionrequest with the token, Target Website's username and the recordidentification code to Communications Provider at step 314. Thisconnection request forwards to a page of code at Tracker at step 316that generates a URL based on the record identification code. Trackerthen instructs the Communications Provider at step 318 to dial Business'phone number, which is located in Tracker's database, and to submitdetails about the call following termination of the phone call to theURL at Tracker. Following phone call termination, the URL at Trackerinstructs Communications Provider to send an SMS message to Operatorwith the record identification code. For example, the SMS may read,“reply with (record identification code) in beginning of SMS to addnotes” at step 320. Operator then replies at step 322 to the SMS. Forexample, Operator may reply, “(record identification code) John Doe, JDCorp, johndoe@gmail.com, 212-555-7889, Brokerage Firm, Wants 500SFoffice, 3 months, Call back tomorrow to confirm appointment onWednesday.” Communications Provider forwards the SMS from Operator to apage of code at Tracker that parses the message body, separating therecord identification code from the rest of the message. The code thenidentifies the record associated with the record identification code,and creates a note associated with the record, using the latter portionof the message—everything after the record identification code—for thenote text at step 324. Finally, Tracker connects to the AnalyticsAccount at step 326 and queries for all visitor details associated withthe request labeled with the record identification code.

In yet another embodiment of the technology introduced here, the methodcan be adapted to utilize e-mail. Such an embodiment allows Business toassociate a phone call with visitor data by communicating with Trackervia e-mail messages. The same method can be used to send updates about aUser record. An example of such an embodiment is illustrated in FIG. 9.This method follows steps 300-318 as described above for FIG. 8.Following phone call termination, the URL at Tracker instructs a mailserver to send an e-mail from Tracker's e-mail address to Operator withthe record identification code at step 328. For example, the e-mail maysay “reply with (record identification code) in subject of e-mail to addnotes.” Operator then replies at step 330 to the e-mail. For example,Operator may reply with message subject “(record identification code)”and body “John Doe, JD Corp, johndoe@gmail.com, 212-555-7889, BrokerageFirm, Wants 500SF office, 3 months, Call back tomorrow to confirmappointment on Wednesday.” The message is sent to Scripted Inbox, whichforwards all incoming messages to a page of code at Tracker that parsesthe message, identifies the record associated with the recordidentification code from the subject, and creates a note associated withthe record, using the e-mail message body for the note text at step 332.Finally, Tracker connects to the Analytics Account at step 334 andqueries for all visitor details associated with the request labeled withthe record identification code.

Additionally, the system can be modified to enable sophisticatedremarketing efforts. Specifically, Business may create remarketing listsassociated with pre-specified criteria within its Analytics Account,such as event categories in GOOGLE ANALYTICS. Tracker stores the cookievalues associated with the visit that triggers a phone call togetherwith the new lead record, and uses those values to send a RemoteTracking Request to the Analytics Account at a later date, such as whenOperator marks a lead record as “Converted” in Tracker's dashboard.Essentially, this allows Business to record information about leads,such as purchases, in a manner similar to e-commerce transactions, evenif the actual sale occurs days, weeks or months later, and without anyaction taken by the lead. When the request registers, the lead's cookieinformation is automatically added to the pre-specified remarketinglist, just as if the lead took a pre-specified action on Target Website.Using a combination of such lists, Business can then segment fortargeted advertising the customers that called but never converted. Anexample of the details of the method is outlined in FIG. 10 for phonecalls initiated through the browser, and FIG. 11 for mobile devices orsoftphones. The same process can be applied to contact or inquiry formsubmissions, as outlined in FIG. 12.

The system can be modified to include remarketing tags, which enableadding callers to lists, later used for more targeted marketing. Forinstance, events with different action categories can be added atdifferent times throughout the call/sales process, e.g. when a call isinitiated, a call is completed, etc. This adds the prospects to relatedlists, and enables targeting, for example, callers who attempted butnever completed a call. Further, by storing a visitor's Tracking Cookievalues, such as the _utma or _ga cookie values utilized by GOOGLEANALYTICS, the system can also automatically add “Converted” events whenOperator tags lead records as such, which in the Analytics Account wouldbe associated with the original visits that triggered the call. Trackermay also send multiple Remote Tracking Requests throughout the phonecall. These may be in response to notifications from CommunicationsProvider. For instance, Tracker may send a “Dialed” event when receivingfrom Communications Provider the extension and identifying the callrecord ID. Tracker may also send a “Connected” event when receiving anotification that a call has connected to Operator, whether throughOperator's actions or a system at Capable Entity. This would allowBusiness to segment for advertising callers that hung up beforeconnecting to Operator, and/or connect online behavior patterns toabandoned calls, for instance.

An embodiment of this method is illustrated in FIG. 10. At step 350,Business creates in the Analytics Account a separate remarketing listfor each request type, for example, a separate remarketing list for eachevent category in GOOGLE ANALYTICS. User executes an action at step 352that takes User to Target Website, such as clicking on an ad, clickingon a search link, or clicking on a referring link, etc. Next a requestis sent to a Tracker once Target Website has loaded at step 354. Trackerthen sends a request at step 356 to Communications Provider, whichgenerates a unique token that is associated with Target Website. At step358, Tracker stores the token associated with Target Website and sendsit to User's browser, where it is used to display a “call” link orbutton. User then clicks the “call” link at step 360 and a request issent to Tracker with the token associated with Target Website and theTracking Cookie values. At step 362, Tracker verifies that the tokenassociated with Target Website sent by User is valid and authentic. Ifthe token is determined to be valid and authentic, Tracker creates a newlead record in Tracker's database and stores the Tracking Cookie values.Tracker then sends the new record's identification code back to User'sbrowser. User's browser receives the record identification code at step364 and sends a request to the Analytics Account, such as a trackEventrequest to GOOGLE ANALYTICS categorized “Call Initiated” and labeledwith the record identification code. User's browser then sends aconnection request with the token, Target Website's username and therecord identification code to Communications Provider at step 366. Thisconnection request forwards to a page of code at Tracker at step 368that generates a URL based on the record identification code. The codeinstructs the Communications Provider at step 370 to dial Business'phone number, which is located in Tracker's database, and to submitdetails about the call following termination of the phone call to theURL at Tracker. Following phone call termination, the URL at Trackerreceives details such as call recording URL and associates them with therecord identification code. Tracker then uses the stored Tracking Cookievalues to send a Remote Tracking Request to the Analytics Account,labeled with the record identification code, at step 372. For example,Tracker may send as a server-side trackEvent request to GOOGLEANALYTICS, categorized “Call Completed” and labeled with the recordidentification code. Note that the request at step 364 may alternativelyoccur as a server-side request, by collecting the Tracking Cookie valueand sending it to Tracker along with the token. Tracker then connects tothe Analytics Account at step 374 and queries for all visitor detailsrelated to the request labeled with the record identification code. WhenOperator later tags the lead record “Converted” in the Trackerdashboard, Tracker uses the stored Tracking Cookie to send anotherRemote Tracking Request at step 376, which may be labeled with therecord identification code. For example, Tracker may send a server-sidetrackEvent request to GOOGLE ANALYTICS, categorized “Converted” andlabeled with the record identification code. As with each of theprevious tracking requests, this causes the visitor cookie toautomatically be added to the associated remarketing list, at step 378.Using these lists, Business may then create new lists with customcombinations, e.g. “Call Completed” but not “Converted.”

The remarketing method can also be adapted to the mobile devicestracking methodology as illustrated in FIG. 4. In this method Businessmaintains a Tracking Number. An embodiment of the technology introducedhere is illustrated in FIG. 11. At step 400, Business creates in theAnalytics Account separate remarketing lists for each request type, suchas remarketing lists for each event category in GOOGLE ANALYTICS. Userexecutes an action at step 402 that takes User to Target Website, suchas clicking on an ad, clicking on a search link, or clicking on areferring link, etc. Next, a request is sent to Tracker once TargetWebsite has loaded at step 404. Tracker sends User's browser a token atstep 406, which is visible to User as a “call now” link. This “call now”link remains empty—there is no phone number associated with it—untilUser clicks the link. User clicks the “call now” link at step 408 and arequest is sent to Tracker along with the token and Tracking Cookievalue. Tracker verifies that the token is valid and authentic at step410. If Tracker determines that the token is valid and authentic,Tracker creates a new lead record associated with Target Website and arecord identification code in Tracker's database, and stores theTracking Cookie value. If the token is determined not to be valid andauthentic, Tracker will ignore the request, since the request is notassociated with an actual visit to the website. If the token is validand authentic, in step 412 Tracker stores the record identification codein Target Website's temporary table and assigns to it an extension,which can be a single-digit such as “1.” The record identification code,Tracking Number, and the extension are then sent to User's browser.User's browser receives the record identification code at step 414, andsends a request to the Analytics Account labeled with the recordidentification code. For example, the browser may send a trackEventrequest to GOOGLE ANALYTICS, categorized “Call Initiated” and labeledwith the record identification code. User's browser populates the “callnow” link with the Tracking Number and extension at step 416. A callalert then opens in a pop-up window in User's browser with the TrackingNumber. The User clicks “call” at step 418 and the call is placed to theTracking Number, with the extension being automatically dialed. The callforwards to a page of code at Tracker that gathers the dialed extensionat step 420 and submits it to a second page of code at Tracker, alongwith Target Website's username, which is identified by the TrackingNumber. At step 422, the second page of code searches Tracker'sdatabase, specifically Target Website's temporary table, for theextension, retrieves the record identification code, adds User's phonenumber to the database, and generates a URL based on the recordidentification code. The code then instructs Communications Provider todial Business' real phone number, which is located from the TargetWebsite's username, at step 424, and submit details about the callfollowing termination of the phone call to the URL at Tracker. Followinghang-up at step 426, the URL at Tracker receives details such as callrecording URL, and associates them with the record identification code.Tracker then uses the stored Tracking Cookie values to send a RemoteTracking Request, which may be labeled with the record identificationcode. For example, Tracker may send a server-side trackEvent requestcategorized “Call Completed” and labeled with the record identificationcode, to GOOGLE ANALYTICS. Then the record and extension may be deletedfrom the temporary table, and the extension is available for re-use bythe system (e.g., for another User). At step 428, Tracker connects tothe Analytics Account, and queries for all visitor details related tothe request labeled with the record identification code. When Operatorlater tags the lead record “Converted” in the Tracker dashboard, Trackeruses the stored Tracking Cookie to send a Remote Tracking Request atstep 430, such as a server-side trackEvent request categorized“Converted” and labeled with the record identification code in GOOGLEANALYTICS. This causes the visitor cookie to automatically be added tothe remarketing list at step 432. Using these lists, Business may createnew lists with custom combination, e.g. “Call Completed” but not“Converted.”

The remarketing method described above in FIGS. 10 and 11 may also beadapted to contact form submissions as illustrated in FIG. 12. FIG. 12illustrates such an embodiment. At step 650, Business creates in theAnalytics Account a separate remarketing list for each request type,such as separate remarketing lists for each event category in GOOGLEANALYTICS. Business also places a Tracker code snippet on TargetWebsite's contact form pages. User executes an action at step 652 thattakes User to Target Website, such as clicking on an ad, clicking on asearch link, or clicking on a referring link, etc. User then fills outan inquiry form on Target Website and clicks a “submit” button at step654. Tracker's code snippet populates the Tracking Cookie values fromUser's browser into the form and submits the form to a URL at Tracker atstep 656. Tracker then checks for the existence of either identicalTracking Cookie values or e-mail address at step 658 to associate eitherwith a prior submission by User. If the e-mails exist, Tracker updatesthe profile's Tracking Cookie values at step 660. If the Tracking Cookievalue exists, Tracker associates the new submission with priorsubmission(s) also at step 660. Tracker then uses the existing recordidentification code. If neither the e-mail nor a Tracking Cookie valueexists, Tracker creates a new record at step 660, generating a recordidentification code. Tracker then uses the Tracking Cookie to send aRemote Tracking Request to the Analytics Account, such as a server-sidetrackEvent request to GOOGLE ANALYTICS, categorized “Form Completed” andlabeled with the record identification code. When Operator later tags alead record “Converted,” Tracker uses the Tracking Cookie to send aRemote Tracking Request, such as a server-side trackEvent requestcategorized “Converted” and labeled with the record identification codeto GOOGLE ANALYTICS, at step 664. In step 666, this causes the visitorcookie to automatically be added to the remarketing list set up byBusiness. Using these lists, Business may then create new lists withcustom combinations, such as “Form Completed” but not “Converted.”

The remarketing method can be adapted to work with any Lead Manager.This may be done by creating a custom field for each lead record thatstores the Tracking Cookie, along with a custom “Status” field that,when changed, will trigger Tracker to send to the Analytics Account aRemote Tracking Request. Alternatively, Tracker can query the externalleads system in regular intervals (e.g., hourly or daily) and send aRemote Tracking Request for any updated or newly tagged records.Moreover, the method can be adapted to track information on attributesother than a lead's conversion status that Business may possess, such asindicated interests in a specific service category or demographicinformation. Furthermore, the method can be adapted to other types ofuser lists that involve a recordable action taken on a website, such asnewsletter signups. Thus, Business may choose to track and createspecialized advertising for leads that sign up for a sports newsletterand indicate a specific interest in soccer, using lists from its e-mailmarketing software, such as MAILCHIMP. The method can also be adapted torecord offline actions taken by leads, such as a meeting with Business.In all of these cases, sending the data to any external account, such asan Analytics Account or an Advertising Account, may assist in adjustingfollow-on advertising, or simply facilitate Business' efforts inanalyzing how online behavior correlates with offline activity.

The method can also be used for other purposes. For instance, when Userrevisits Target Website, Target Website can collect User's TrackingCookie and send it to Tracker. Tracker would then search its databasefor a match, and communicate to Target Website information about User'sprevious calling activity, as well as any applied tags, sales, and otherpertinent data. Target Website may then utilize the information asneeded, whether to adjust content, communicate activity to othersystems, and the like.

Note also that although the Remote Tracking Requests method is describedhere with systems that track phone calls using a single phone number,the same method can be deployed with systems that utilize multipletracking numbers. Thus, Tracker may simply generate an ID to correspondto a phone number displayed on User's screen (rather than correspondingto the extension), and use the dialed phone number to associate the calldetails with said records. The remaining steps would be similar oridentical to the method described above.

Furthermore, the method can also be adapted to an automated scenariothat does not require direct user intervention in order to recordinformation about callers. This would typically involve additionalsystems. For instance, using voice recognition technology, the methodmay automatically detect a caller's expressed interest in a specificproduct or service, and create and send tags based on this information.Alternatively, using machine learning or other algorithms, Tracker mayautomatically read information entered by Operator in a lead record, andcreate and send tags based on this information.

The system can be further adapted to record phone calls as conversionsin an Advertising Account; the details differ depending on a visitor'sdevice (FIGS. 12 through 14), as described below. Further, the phoneextension codes can also be utilized in recording phone calls resultingfrom offline sources, such as magazine ads, by designating specificextensions for each ad, which would be printed in the ad graphics orincorporated into a Quick Response (QR) code. These extensions andassociated ads can be saved in a separate database table. The systemwill exclude these “reserved” extensions from usage when recordingonline conversions, and compare any dialed extension against this table(in addition to the temporary table) to determine the call source. Notethat this feature primarily applies to devices capable of scanning a QRcode, such as mobile devices, since the phone calls are not generatedthrough User's browser.

The system may be modified to record phone calls as conversions inAdvertising Accounts by recording the corresponding Tracking Cookie,such as the globally unique tracking parameter or GOOGLE ClickIdentifier (“gclid”) associated with GOOGLE ADWORDS. With GOOGLEADWORDS, recording the gclid parameter enables the system to generate aMICROSOFT EXCEL, or similar spreadsheet software, file that can beimported as offline conversions into the GOOGLE ADWORDS account. Inaddition, the system can filter any records where Operator did notrecord additional data about the lead, which helps avoid counting failedphone connections. Also, prior to generating the file, Operator canmanually delete within the system any phone records that do not qualifyas conversions, such as sales calls or irrelevant opportunities. Onesuch embodiment is illustrated in FIG. 13.

At step 450 in FIG. 13, Business creates in Advertising Account aconversion for phone calls, such as an offline conversion type named“Phone Call” in GOOGLE ADWORDS. User executes an action at step 452 thattakes User to Target Website, such as clicking on an ad, clicking on asearch link, or clicking on a referring link, etc. Next at step 454 arequest is sent to a Tracker once Target Website has been loaded byUser's browser. Tracker then sends a request at step 456 toCommunications Provider, which in turn generates a unique token that isassociated with Target Website. At step 458, Tracker stores the tokenassociated with Target Website and sends it to User's browser, where itis used to display a “call” link or button. User then clicks the “call”link at step 460 and a request is sent to Tracker with the tokenassociated with Target Website and the Tracking Cookie. At step 462,Tracker then verifies that the token associated with Target Website sentby User is valid and authentic. If the token is determined to be validand authentic, Tracker creates a new lead record in Tracker's leadsdatabase, stores the Tracking Cookie, and sends back a recordidentification code to User's browser. User's browser sends a connectionrequest to Communications Provider at step 464 with the token, TargetWebsite's username, and the record identification code. This connectionrequest forwards to a page of code at Tracker at step 466 that generatesa URL based on the record identification code. The page of codeinstructs the Communications Provider at step 468 to dial Business'phone number, which is located in Tracker's database, and to submitdetails about the call following termination of the phone call to theURL at Tracker. Following phone call termination, the URL at Trackerreceives details at step 470, such as call recording URL, associatesthem with the record identification code, and records the time of callas conversion time. Operator reviews the phone call log at step 472,decides which calls should qualify as conversions, and marks all thecalls to be reported. At step 474, Tracker generates a file that can beimported into the Advertising Account. In the case of GOOGLE ADWORDS,this may be an EXCEL file with the gclid, conversion name (e.g., “PhoneCall”) and time of each conversion from the database. Operator thenimports the file into the Advertising Account, such as “offlineconversions” in GOOGLE ADWORDS. This methodology results in step 476,with Advertising Account conversion reports having more complete dataassociated with each ad, incorporating different conversion types.

A simpler method than the one presented in FIG. 13 is illustrated inFIG. 14. This simpler method involves sending the Advertising Accounttracking code to User's browser upon completion of the phone call. Thismethod is less accurate, since User may close the browser beforetracking is recorded. Also, this method records all phone callsautomatically, which does not provide the flexibility of filtering someconversions. An example of such an embodiment is illustrated in FIG. 14.At step 500, User executes an action that takes User to Target Website,such as clicking on an ad, clicking on a search link, or clicking on areferring link, etc. Next a request is sent to a Tracker once TargetWebsite has loaded at step 502. Tracker then sends a request at step 504to Communications Provider, which in turn generates a unique token thatis associated with Target Website. At step 506, Tracker stores the tokenassociated with Target Website and sends it to User's browser, where itis used to display a “call” link or button. User then clicks the “call”link at step 508 and a request is sent to Tracker with the tokenassociated with Target Website. At step 510, Tracker verifies that thetoken associated with Target Website sent by User is valid andauthentic. If the token is determined to be valid and authentic, Trackercreates a new lead record in Tracker's leads database and sends back arecord identification code to User's browser. User's browser sends aconnection request to Communications Provider at step 512 with thetoken, Target Website name, and the record identification code. Thisconnection request forwards to a page of code at Tracker at step 514that generates a URL based on the record identification code. The pageof code instructs Communications Provider at step 516 to dial Business'phone number, which is located in Tracker's database and to submitdetails about the call following termination of the phone call to theURL at Tracker. Following phone call termination, the URL at Trackerreceives details at step 518, such as call recording URL, and associatesthem with the record identification code. Tracker then sends User theAdvertising Account tracking code request at step 520, or simulates therequest from the Tracker server. This methodology results in step 522,with Advertising Account conversion reports having more complete dataassociated with each ad, incorporating different conversion types.

The Advertising Account conversions feature can also be adapted to themobile tracking methodology described in FIG. 4 above. This methodrequires Business to maintain a Tracking Number. An example of such anembodiment is illustrated in FIG. 15. At step 550, Business creates inAdvertising Account a conversion for phone calls, such as an offlineconversion type named “Phone Call” in GOOGLE ADWORDS. User executes anaction at step 552 that takes User to Target Website, such as clickingon an ad, clicking on a search link, or clicking on a referring link,etc. Next, a request is sent to a Tracker once Target Website has loadedat step 554. Tracker then sends User's browser a token at step 556,which is visible to User as a “call now” link. This “call now” linkremains empty—i.e., there is no phone number associated with it—untilafter User clicks the link. User clicks the “call now” link at step 558and a request is sent to Tracker along with the token and TrackingCookie. Tracker verifies that the token is valid and authentic at step560. If Tracker determines that the token is valid and authentic, itcreates a new lead record associated with Target Website with a recordidentification code in Tracker's database and stores the Tracking Cookievalue. If the token is valid and authentic, in step 562 Tracker storesthe record identification code in a temporary table and assigns to it anextension, such as a single-digit like “1.” The record identificationcode, Tracking Number, and the extension are then sent to User'sbrowser. User's browser populates the “call now” link with the TrackingNumber and extension at step 564. A call alert then opens in a pop-upwindow on User's browser with the Tracking Number. User clicks “call” atstep 566 and the call is placed to the Tracking Number, with theextension being automatically dialed. The call forwards to a page ofcode at Tracker that gathers the dialed extension at step 568 andsubmits it to a second page of code at Tracker along with TargetWebsite's username, which is identified by the Tracking Number. At step570, the second page of code looks into Tracker's database, specificallyat Target Website's temporary table, for the extension, retrieves therecord identification code, adds User's phone number to the database,and generates a URL based on the record identification code. The codethen instructs Communications Provider to dial Business' phone number,which is located from the Target Website's username, at step 572, and tosubmit details about the call following termination of the phone call tothe URL at Tracker. Following hang-up at step 574, the URL at Trackerreceives details such as call recording URL, associates them with therecord identification code, and records the time of call as conversiontime. The record and extension are then deleted from the temporarytable, and the extension is available for re-use by the system. Operatorreviews the phone call log at step 576, decides which calls shouldqualify as conversions, and marks all the calls to be reported. At step578, Tracker generates a file that can be imported to the AdvertisingAccount, such as an Excel file for GOOGLE ADWORDS with the gclid,conversion name “Phone Call,” and time of each conversion from thedatabase. Business imports the file into its Advertising Account, forexample, as “offline conversions” in GOOGLE ADWORDS. This methodologyresults in step 580, with the Advertising Account conversion reportshaving more complete data associated with each ad, incorporatingdifferent conversion types.

Further to the description of FIGS. 12 through 14, when displaying thesources of visits associated with phone calls and/or contact formsubmissions, Tracker may aggregate identical ads to provide a moreinsightful performance report. Specifically, Tracker queries theAdvertising Account periodically, obtaining the ads' content andtargeting metrics. These are matched against Tracker's existinginformation. Within Tracker's database, IDs of multiple ads withidentical content and targeting metrics are given a single master ad ID,stored together with the ad content and targeting metrics. When Trackerretrieves visitor source information from external systems, each formsubmission or phone call record is associated with the master ad ID ofthe ad ID that was clicked (rather than the ad ID itself). A similarprocess is performed on the search queries entered by User thattriggered the ad impressions: the system maintains a “phrases” tablewith an ID assigned to each phrase, and attempts to match new searchqueries obtained from the analytics system against these existingvalues. If a phrase matches an existing record, the existing phrase IDis associated with the record; otherwise, a new phrase record and ID arecreated. In addition to reducing duplication, pairing this indexing ofads and keywords with User tags helps discover revealing patterns, e.g.the ad-keyword combinations that are most likely to generate sales.

This method can also be adapted to a situation where the website visitorrequests a call from Business. This method works with any device. Inthis case, User enters his phone number in a form at Target Website andclicks “Call Me”. The form is posted to a server operated by Trackerthat verities the request is authentic, creates a new record in itsdatabase, sends a Remote Tracking Request labeled with the new record IDto the Analytics Account, generates a series of URLs based on the recordID, and initiates a call to the number entered by User. When Useranswers the phone, the call is forwarded to a page of code at Trackerthat initiates a call to Operator while placing User's call in a queuelabeled with the record ID. When Operator answers the phone, theOperator's call is forwarded to a page of code at Tracker that de-queuesUser's call, connecting the two parties. Following hang-up, detailsabout call are posted to the URL, and are thus associated with the newrecord H) in the database; the Analytics Account is then queried fordetails associated with the record ID.

An example of this embodiment is illustrated in FIG. 16. User executesan action at step 600 that takes User to Target Website, such asclicking on an ad, clicking on a search link, or clicking on a referringlink, etc. Next, a request is sent to a Tracker once Target Website hasloaded at step 602. Tracker then generates a unique token, stores it asassociated with Target Website and sends it to Target Website at step604. Target Website then displays a form with a hidden “token” field,which is populated with the token from Tracker, an empty “number” field,and a “call me” button. User enters his phone number and clicks the“call me” button at step 608, and the form is posted to Tracker. Trackerverifies that the token is valid and authentic at step 610. If Trackerdetermines that the token is valid and authentic, it creates a new leadrecord with User's phone number in Tracker database and sends back arecord identification code. User's browser then receives the recordidentification code at step 612 and sends a request to the AnalyticsAccount labeled with the record identification code, such as atrackEvent request to GOOGLE ANALYTICS labeled with the recordidentification code. Tracker then generates a queue URL and response URLbased on the record identification code at step 614, and instructsCommunications Provider to initiate a call to User's phone number withthe Business' phone as the “from” number. When User answers, the queueURL is retrieved. The response URL receives a form POST following phonecall termination. When User answers at step 616, the call is forwardedto the queue URL, and the record identification code is retrieved andused to create and name a queue, as well as to generate a de-queue URLwhile placing User's call in the said queue. The code then instructsCommunications Provider to initiate a call to Operator at step 618, withthe de-queue URL to be retrieved upon answer. When Operator answers,Operator's call is forwarded to the de-queue URL, and the recordidentification code is retrieved and used to de-queue User's call.Following phone call termination at step 620, the response URL atTracker receives details such as call recording URL, and associates themwith the record identification code. Lastly, Tracker connects to theAnalytics Account and queries for all visitor details related to therequest labeled with the record identification code.

Yet another embodiment enables tracking mobile phone calls thatoriginate on Foreign Domain. An example of such an embodiment isillustrated in FIG. 17. This method is useful for analyzing activityfrom off-site marketing properties, by tracking phone calls originatingin clicks on an ad placed in Foreign Domain, such as classifiedswebsites (e.g. Craigslist). Business creates a new ad record in acentral database operated by Tracker at step 700, specifying the domainname on which the ad will run, e.g. craigslist.org. Tracker stores eachad at step 702, which has a record/ad ID with a corresponding URL thatpoints to a web-page. The URL is based on the ad ID and Target Website'susername. Business adds the URL in the ad HTML, such as inserting itinto a “Call Us” link within the ad, and posts the ad on Foreign Domain,such as craigslist.org, at step 704. User visits the third partywebsite, sees the ad, and takes action by clicking the “Call Us” link atstep 706. The URL opens, and a JAVASCRIPT snippet intercepts the ad IDand Target Website's username. After verifying that the referrerinformation matches the domain entered by Business at, step 708, arequest with the ad ID and Target Website's username, is sent toTracker, which creates a new lead record associated with the ad ID andTarget. Website; the record is assigned a record identification numberat step 710. Tracker then stores the identification code at step 712 ina temporary table, and assigns to it an extension, usually asingle-digit, e.g. “1” Tracker sends to User's browser the TrackingNumber and extension, and instructs User's browser to point to theTracking Number, for example, using a “window.location=tel:” JAVASCRIPTcommand at step 714. User sees a blank page with a “Call” prompt.

When User clicks the button at step 706, Foreign Domain may also decideto forward to Tracker details related to the call, caller, ornetwork-based content, which Tracker may store, communicate back toForeign Domain, or otherwise process. For instance, if Foreign Domain isa local directory listings site, such as YELP, it may forward thelisting category. At the end of the call, Tracker may communicate backto Foreign Domain, or any other external system, such as the AnalyticsAccount, a confirmation that a call has been placed to the listingcategory. Tracker may also use this information to automatically applytags to the call record.

After User clicks “Call”, the call forwards to a page of code at Trackerthat gathers the extension, which may be automatically dialed at step716. The code submits the extension to a second page of code at Tracker,along with Target Website's username, which is identified by the dialedTracking Number, at step 718. The second page of code looks intoTracker's database, specifically at. Business' temporary table, for theextension, retrieves the record identification code, adds User's phonenumber to the database at step 720, and generates a URL based on therecord identification code. At step 722, Tracker instructsCommunications Provider to dial Business' real phone number, which islocated from Target Website's username, and to submit details about thecall following termination of the call to the URL at Tracker. Followingphone call termination at step 724, the URL at Tracker receives a formPOST with details about the call such as call recording URL, andassociates them with the record identification code. The record and theextension are then deleted from the temporary table, and the extensionis available for re-use. Tracker may also initiate a Remote TrackingRequest to the Analytics Account, indicating that a phone call fromForeign Domain has occurred. Alternatively, Business may generate a QRcode that points to the URL, and feature it on a print advertisement.When scanned with a mobile device. User's browser would be automaticallyredirected to the URL, creating a “scan-to-call” functionality otherwiseidentical to the “click-to-call” outlined above.

FIG. 18 illustrates an example of leveraging Target Website's hostingplatform, which usually holds a large amount of unused space, to storefile attachments from outgoing messages from Operator to User. Themethod involves using a hash function, which is used to generatefixed-length output data that acts as a shortened reference to theoriginal data. The method further uses a salt, which in encryption israndom data that is added to the original data so as to make theoriginal data harder to decode. The method begins at step 750 withOperator opening up User's record at the Tracker dashboard, composing anew e-mail message with a file attachment and clicking “Send.” Trackerstores the body of the message and the associated filename in itsdatabase at step 752, and generates a message ID. Tracker then generatesa hash based on the original file name and a salt value created from thefilename and the Target Website's ID (or another variable, such as themessage time). Tracker then sends a request to upload the file in adesignated folder at step 756, located on Target Website's hostingplatform, and names it with the hash preceded by the message ID. Theattachments are then forwarded in the e-mail at step 758, but the actualoutgoing message is not stored at Tracker's database, only the textcontents of the e-mail, subject, and date are stored in this embodiment.The e-mail is sent via an external service at step 760, such as Amazon'sSimple E-mail Service. User receives a standard e-mail message at step762 from Business, which may be labeled as being mailed by the externalemail service. When Operator, or anyone at Business with access,revisits User's record and opens the message at step 764, the links todownload the files are regenerated from the filenames stored in thedatabase. This methodology results in very secure file attachmentstorage as an external hacker would have to guess a long, random stringin order to view a file or guess the exact name of the file along withthe message ID and Target Website's ID.

FIG. 19 illustrates an example of leveraging Target Website's hostingplatform to store file attachments from messages sent from User toBusiness. User composes a new message with a file attachment to Businessand clicks “send” at step 800. At this point, the “to” address does notactually exist (e.g., “does-not-exist@domain.com”), but the e-mailaddress' domain has a catch-all e-mail address (e.g.,“catch-all@domain.com”); however, User is unaware of this. Upon sending,the e-mail is forwarded to the catch-all e-mail address, which forwardsmessages sent to the non-existent e-mail address to Tracker's ScriptedInbox at step 802. The Scripted Inbox forwards the message to a page ofcode at Tracker that parses the message headers and body at step 804.The code then retrieves the Target Website's username based on the “to”address and identifies User based on the “from” address at step 806. Themessage body and filename are stored and a message ID is generated,along with a salt value based on the filename and the Target Website'sID, as well as a hash value, at step 808. The code then sends a requestto upload the file in a designated folder on Target Website's hostingplatform, and names it with the hash, preceded by the message ID at step810. The original e-mail message can optionally be forwarded toBusiness' real e-mail address at step 812, or a notification of a newmessage from User can be sent to Business' real e-mail address. WhenOperator revisits User's record at the Tracker dashboard and opens themessage at step 814, the e-mail and links to download the files arere-generated from the filenames stored in the database. This methodologyresults in very secure file attachment storage at step 766 as anexternal hacker would have to guess a long, random string in order toaccess a file or guess the exact name of the file along with TargetWebsite's ID and message ID.

Another embodiment of this method is illustrated in FIG. 20. Thisembodiment leverages a Target Website's hosting platform, which usuallyholds a large amount of unused space, to store file attachments fromincoming form submissions originating in Target Website. At step 850,User fills out a form on Target Website, which allows uploading fileattachment, and clicks “send.” Target Website's form processor forwardsthe form's contents to Tracker, which stores the message and generates amessage ID at step 852. At step 854, Tracker generates a hash and saltvalue based on the original filename and the Target Website's ID, andsends the message ID and hash back to Target Website's form processor atstep 856. Target Website's form processor then uploads the file into adesignated folder on the Target Website's hosting platform at step 858,naming it with the hash, preceded by the message ID. Optionally, at step860, Target Website's form processor can forward all information to theBusiness' e-mail, or Tracker can send a notification of a new inquirysubmission. When Operator revisits User's record in the Trackerdashboard at step 862, the form inputs and links to download the filesare re-generated from the filenames stored in the database. Thismethodology results in very secure file attachment storage as anexternal hacker would have to guess a long, random string in order toview a file or guess the exact name of the file along with TargetWebsite's ID and message ID.

The method described in FIG. 18-20 may also be adapted to any LeadManager, provided that custom code can be inserted into such system.Alternatively, the links to download the files may instead point to aserver controlled by Tracker and incorporate the message ID and/orTarget Website's ID. The code at Tracker may use these to redirect tothe file. Additionally, the method may utilize any remote storage spaceother than Target Website's hosting, such as cloud storage on DROPBOX,for instance.

Referring to FIG. 21, another embodiment of a leads and/or call trackingsystem and method will now be described. As shown in FIG. 21, in step1010, User may take an action that directs User to a Target Website. Forexample, User may click on an ad, a search link, or on a referring link,etc. to direct User to a Target Website. At step 1012, a request is sentto Tracker, and a new record in Tracker database associated with theTarget Website is generated. The request may be sent to Tracker once theTarget Website has loaded. Tracker may store a database of collectedinformation, as well as any phone number extension that has beenassociated with such information.

If Tracker determines that the request referrer (i.e., the TargetWebsite) is valid and authentic, a new record is created in Trackerdatabase, for example, in the extensions table (see FIG. 24) that isdedicated to Target Website. Tracker may verify the referrer to protectTarget Website from unauthorized phone calls that might have beeninitiated by hackers or malicious software.

Each record in the extensions table may be assigned a numeric code,which may be used to match a website visit to a phone call by promptingthe caller for an extension. The numeric codes may be consecutiveintegers starting from the number “1”, for example, and may be reusedfollowing a phone call or when the visit is determined to have ended, asdescribed in more detail below. Since the caller may be prompted toenter the code during the call, it may be desirable to keep the numberof digits contained in these numeric codes to a minimum such thatentering the code is relatively user-friendly.

As shown in step 1014, once the extension has been determined, thesystem may enter the extension into the extensions table and may send itback to User's browser. As shown in step 1016, a JAVASCRIPT (which mayreside at, for example, Tracker or Target Website) may be automaticallyinitiated from User's browser following the display of the extension instep 1014. This code may first store the extension in a cookie, and theninitiate an empty asynchronous JAVASCRIPT and XML (“AJAX”) request toTracker. Following the first request, a second request may be initiated,sending a POST request with User's assigned extension and the value of aTracking Cookie.

Tracker may update the record of the extension with the Tracking Cookievalue. As shown in step 1018, on each subsequent pageview, the uniformresource locator (“URL”) of the page, commonly referred to as a webaddress, as well as the extension may be sent to Tracker, which mayupdate the extension record with the URL value, as well as record thetime of the update.

When User calls the Target Website phone in the URL at step 1020, thecall is forwarded to a page of code at Tracker that incorporates theTarget Website username, as assigned by Tracker. For example, whereTarget Website is “ABC.com,” Target Website may be incorporated in theURL as follows:“www.tracker.com/call-answering-script.php?username=ABC.com.^(”) Asshown in step 1022, the code at this page may gather the Target Websitename from the URL and prompt the caller for an extension.

When the call is made, User may be prompted to enter the extension, forexample, via a query or an audible command. For example, User may hear aphrase such as, “If you have an extension, please enter it now.” Asshown in step 1024, when User enters the extension shown in his browserwindow, the code may gather the dialed numbers including the dialedextension, and submit them to a second page of code at Tracker thatincorporates the Target Website username in the URL. At step 1026, thissecond page may use the Target Website username to find the appropriateextensions table, and search this table for the extension or numericcode previously entered to obtain the Tracking Cookie and the last pagevisited.

The code may use the Tracking Cookie value to search through TargetWebsite's calls and emails database tables for a match. In particular,the code may extract the part of the cookie that constitutes the uniquevisitor ID and search the tables for records with cookie values thatinclude the same unique visitor ID. In the case of GOOGLE ANALYTICS'utma cookies, the unique visitor ID is comprised of the first part ofthe cookie value, from the beginning up to the first dot. To accomplishthe search, the system may utilize a database querying language, such asStructured Query Language (“SQL”). If SQL were used, the database querymay be structured as, for example, “SELECT leadid FROM ‘ABCcom_calls’WHERE ga_cookie LIKE ‘%$ga_cookie %’.” Although SQL is noted, similarqueries in other database querying languages may also be used.

If a match is found, the call may be assumed to have originated from areturning User, and the lead ID associated with the existing matchedrecord may be used when creating the new call record. Otherwise, a new,blank record may be created in the Target Website leads table, and thenew lead ID may be used when creating the new call record. As shown instep 1026, the call record may receive an ID. As shown in step 1028, thecall record may be populated with the page URL and Tracking Cookie valueobtained earlier, as well as the phone number of User. As shown in step1030, the code uses the Tracking Cookie value to send a Remote TrackingRequest to Target Website's Analytics Account (for example, a remotetrackEvent request in GOOGLE ANALYTICS, categorized “Phone Call” andlabeled with the record ID). The Remote Tracking Request may beperformed either prior to step 1032, or following termination of thecall in step 1034 described below, or at both times.

Following the Remote Tracking Request, at step 1032, the code maygenerate a URL incorporating the call record ID. Note that in otherembodiments, the URL may be generated elsewhere in the process, such asin (or concurrently with) any of steps 1026, 1028, or 1030. The codethen may instruct Communications Provider to dial Business' real phonenumber (i.e., the number that is not owned, provided, or forwarded tothe Communications Provider) and submit details about the call followingtermination of the phone call to the URL at Tracker. The real phonenumber may be stored in the database and located or accessed via theTarget Website username. At step 1034, following hang-up or terminationof the phone call, the URL at Tracker may receive details such as callrecording URL and associate those with the call record ID.

The record and the extension that was associated with that particularrecord may be unassociated from one another (i.e., the extension isdeleted from the extensions table) following the hang-up of the call atstep 1034 or may be performed at any time following updating of therecord with the call record ID such as in step 1028. Deleting orun-associating the extension with recorded data may facilitate re-use ofthe extension such that a new extension need not be created and thenumber of digits contained in future associated extensions may beminimized.

At step 1036, Tracker may connect to the Analytics Account and query forall visitor details associated with the label corresponding to the callrecord ID. In step 1038, Tracker automatically sorts through all recordsin the Target Website's extensions table at set intervals, deletingrecords that were not updated within a predetermined amount of time. Theintervals and amount of time could range from a certain number of hoursto days, and may be set by Business.

The method described above may use a simple extension that correspondsto Tracker's record of a website visit. This extension may also becombined with the existing extension logic utilized by Business bycombining or pairing Tracker's extension with the extension alreadyutilized by Business. The modified portion of the logic (i.e., theportion of the logic corresponding to the extension corresponding toTracker's record of the website visit) may, for example, prepend orappend Business' extension. The two extensions may be separated by apredetermined fixed symbol, such as the pound or hash key (e.g., “#”) orstar key (e.g., “*”) (“Special Symbol”). When analyzing the keys enteredby User, Tracker may use the part before the Special Symbol to locatethe call record, and the part after the Special Symbol to forward thecall to an appropriate Operator, or vice versa as may be desired.

In another embodiment, the extension may be generated in response toanother type of action taken by User. For instance, Target Website maydisplay a menu with options representing different departments in itsorganization, and specify to Tracker the phone number within Businessrelated to each department. Before calling Business, Target Website mayprompt User to select which department to call. Upon User's selection ofa department and clicking “Call”, a request may be sent to Tracker withthe chosen department. Tracker may populate this information in itsdatabase, and respond with an extension. When the extension is laterdialed, Tracker may use the department information to determine thespecific phone number at Business to which to forward the call.

Another embodiment, as shown in FIG. 22, utilizes a similar method tothe one described above with respect to FIG. 21 except in the followingways. In particular, the method described with respect to FIG. 22differs from that described in FIG. 21 as it attempts to locate or lookfor the Tracking Cookie value in the extensions table before sending theextension. Advantageously, this may facilitate detecting returning Usersand displaying a consistent extension. At step 1040, User enters orvisits Target Website. For example, User may click on an ad, a searchlink, or on a referring link, etc. that directs User to a TargetWebsite. In step 1042, once Target Website has loaded, a JAVASCRIPT (orthe like) automatically initiates an empty AJAX request to Tracker,followed by a second request with the Tracking Cookie value. TheTracking Cookie value may be only available for retrieval following asecond page load, thereby necessitating the first “dummy” request. Instep 1044, the method uses the Tracking Cookie value when generating theextension. The remaining steps 1046 through 1068 are similar oridentical to the corresponding steps in the method described above withrespect to FIG. 21.

A method of determining an optimal extension will now be described withreference to FIG. 23. As shown in step 1070, a Target Website may sendTracker a request to generate an extension. At step 1072, adetermination is made at Tracker whether the request includes theTracking Cookie value. As shown in step 1074, if the request includesthe Tracking Cookie value, the part of the Tracking Cookie thatconstitutes the visitor ID (such as the first part of the cookie fromthe beginning up to the first dot in GOOGLE ANALYTICS' utma cookie) maybe extracted. In step 1076, the extensions table is searched for recordswith cookie values that include the same visitor ID. To accomplish this,the system may utilize a database querying language. If SQL were used,the database query may be structured as, for example, “SELECT extensionFROM ‘ABCcom_extensions’ WHERE ga_cookie LIKE ‘%$ga_cookie %’.” At step1078, a determination is made as to whether a match was found. If amatch is found, the request is assumed to have originated from areturning User, and as shown in step 1080, the extension previouslyassociated with that record is used and the Tracking Cookie value isupdated.

If no match is found or if a Tracking Cookie is not included in theinitial request, the method proceeds to step 1082 in which extensionscurrently recorded in the extensions table are retrieved and placed intoa simple array or collection of values. At step 1084, a full array thatincludes all of the values associated with the extensions is generated(e.g., all integers between the number 1 and the highest recordedextension number). Thus, a sample extensions array may include thenumbers {1,3,4,5,6,9,10} while a corresponding full range array wouldinclude the numbers {1,2,3,4,5,6,7,8,9,10}, for example. In step 1086,the method may subtract the extensions array from the full array,extracting all the values that appear in the full array but do notappear in the extensions array, and may place those into a new array. Toaccomplish this, the method may use a pre-built computer programminglanguage function, such as the “array_diff” function of the Hypertext:Preprocessor computer programming language (“PHP”). In the exampleabove, the new array would include the numbers {2, 7, 8}.

At step 1088, the method may determine whether the new array contains atleast one value. If the new array is not empty, the system may selectthe smallest value from the new array at step 1090. To accomplish this,the method may use a pre-built computer programming language function,such as the “min” PHP function, which obtains the minimum value from aset of values, or the “array_shift” PHP function, which obtains thefirst value from a set of values. Although PHP functions are noted,similar functions in other programming languages may also be used. Ifthe new array is empty, the method may return to the extensions tableand attempt to obtain the highest recorded extension at step 1092. Ifthe method obtains a value, the method may increment the value by 1 andreturn the result. If the method obtains no value, then the method maydetermine that no extensions have been recorded, and may return “1”.

An illustrative database structure, in which the method may beimplemented, with the interconnections between calls, leads, pages, andextensions, is shown in FIG. 24.

Another embodiment, as shown in FIG. 25, utilizes a similar method tothe one described above with respect to FIG. 21 except in the followingways. In particular, the method described with respect to FIG. 25differs from that described in FIG. 21 as it allows Operator toassociate phone call information with visitor data by communicating withTracker using SMS. At step 1100, a User may visit Target Website. Forexample, User may click on an ad, a search link, or on a referring link,etc. to direct User to a Target Website. Next a request may be sent toTracker once the Target Website has loaded at step 1102. Tracker maysend User's browser a token, and User may see a “Call” link that remainsempty at step 1104. When User clicks “Call” at step 1106, a JAVASCRIPTmay execute, sending the token to Tracker. Tracker may verify the tokenand create a new blank record in its database, associated with TargetWebsite, and may generate a record ID at step 1108. Tracker may then usethe record ID to create a new extension record, and may send theTracking Number, record ID, and extension to User's browser at step1110.

At step 1112, the JAVASCRIPT may send a tracking request to theAnalytics Account. The tracking request may be labeled with a labelcorresponding to the record ID. The JAVASCRIPT may then populate the“Call” link in User's browser with the Tracking Number and extension atstep 1114, prompting a “Call” alert to pop up on User's phone. At step1116, User clicks the “Call” button on the alert, calling the TrackingNumber, and automatically dialing the extension.

At step 1118, the call may be forwarded to a page of code at Trackerthat gathers the Target Website's username from the URL and the dialedextension, submitting both to a second page of code at Tracker. At step1120, the second page of code may look up the extension in Tracker'sextensions table dedicated to Target Website and retrieve the record ID.The code may then use the record ID to update the record with User'sphone number, delete the extension and record ID from the extensionstable (making the extension available for re-use) and generate a URLincorporating the record ID.

Tracker may then instruct Communications Provider to dial all of thephone numbers associated with Target Website and to submit details aboutthe call following hang-up to the URL at Tracker. Tracker may collectthe phone number of the first Operator that answers and connect theOperator with User at step 1122. To accomplish this, Tracker may bridgethe calls as described in more detail below with reference to FIG. 26.

At step 1124, following phone call termination, the URL at Tracker mayinstruct Communications Provider to send a SMS to the Operator with therecord ID. If the record ID is JD123, such SMS may read, for example,“reply with JD123 in beginning of SMS to add notes”. At step 1126,Operator may reply with another SMS, such as continuing the samplereferenced above, “JD123 John Doe, JD Corp, johndoe@gmail.com,212-555-7889, Brokerage Firm, Wants 500SF office, 3 months, Call backtomorrow to confirm appointment.”

At step 1128, the SMS may be forwarded to a page of code at Tracker thatincorporates Target Website's username in the URL. The code may gatherthe username and message body, separate the first word from theremainder of the message body, and use the username to locate theappropriate database table associated with Target Website. The code maythen search the table for the record ID that matches the separated firstword to validate the record ID, and may use the record ID to add a noteassociated with the record ID, with the remaining text message bodycomprising the note text. At step 1130, Tracker may query the AnalyticsAccount for all visitor details associated with the label correspondingto the record ID.

As shown, the method described in FIG. 25 may utilize fewer extensionsthan the method described in FIGS. 21 and 22, since extensions may onlybe generated when a “CALL” button is clicked, rather than with everypage view. Thus, in the former method, the generated extensions have thepotential to remain significantly shorter. A Target Website thatimplements the method described with respect to FIG. 21 in conjunctionwith that of FIG. 25 may store all extensions in a single table.Alternatively, Tracker may create two tables. For example, Tracker maycreate one table for desktop extensions and another for mobileextensions of Target Website. To differentiate calls, Tracker may assigna Tracking Number for each device type.

Alternatively, Tracker may append or prepend a key or Special Symbol(e.g., one or more symbols, characters, or digits) to a generatedextension. Thus, for example with respect to the method described inFIG. 25, mobile extensions may be appended a designated Special Symbol,while desktop extensions (as described, for example in FIGS. 21 and 22)may be appended a different designated Special Symbol, or no symbol (orvice versa). When analyzing the Special Symbol inputted by User, Trackermay, for example, read the Special Symbol, and may use the SpecialSymbol to determine the appropriate table to search for the extension.

A method of both forwarding the incoming call from User to multipleOperators and connecting User with the first Operator that answers willnow be described with reference to FIG. 26. The forwarding of a call tomultiple Operators may be performed simultaneously. As shown in step1132, when User calls the Tracking Number, Tracker may sendCommunications Provider a request to create a new bridge, or aconnection between two phone calls. The bridge request may be populatedwith the call ID of the incoming call from User. At step 1134,Communications Provider may create the bridge, may place the call fromUser in the bridge, and may send Tracker the new bridge ID. At step1136, Tracker may retrieve from its database the phone numbersassociated with Target Website, and may facilitate a phone call to eachphone number by sending a request to Communications Provider. Therequest may include a callback URL that incorporates the bridge ID. Thecallback URL receives notifications about the call progress, such aswhen the call is answered or completed.

At step 1138, the Communications Provider may initiate the phone calls,sending to Tracker the call ID of each call. At step 1140, Tracker maystore the bridge ID and associated call IDs in its database. At step1142, when the first Operator answers the call (“First Answered Call”),the callback URL may receive a notification from CommunicationsProvider. The code at the callback URL may collect the bridge ID fromthe URL, and search Tracker database for the call ID of the FirstAnswered Call. If the bridge ID associated with the call ID in thedatabase matches the bridge ID gathered from the URL, the code may addthe First Answered Call to the bridge, connecting User with Operator.Tracker may also store the call ID of the First Answered Call in itsdatabase as the answered call. At step 1144, the code may retrieve theremaining call IDs associated with the bridge, and may sendCommunications Provider a disconnect request for each call ID.

At step 1146, following phone call termination, Communications Providermay send the callback URL at Tracker a notification. At step 1148, adetermination is made whether Tracker stored the First Answered Call IDin its database. If the First Answered Call ID was stored, Tracker mayuse the call ID to query Communications Provider for the dialed phonenumber associated with Operator, thereby determining the number to whichto send a SMS at step 1150. If the First Answered Call ID was notstored, Tracker may use the bridge ID to query Communications Providerfor the phone calls associated with the bridge at step 1152. Tracker maycompare each phone number from the phone call information returned byCommunications Provider to User's number stored in Tracker's database,and determine that the number that does not match User's number belongsto Operator. Although the SMS communications feature is illustrated withone method, it can be adapted to work with other call tracking methods,including the method described in FIGS. 21 and 22.

Referring to FIG. 27, an embodiment of a leads and/or call trackingsystem and method will now be described. As shown in FIG. 27, in step3100, User may take an action that takes User to a Target Website. Forexample, User may click on an ad, a search link, or on a referring link,etc. to direct User to a Target Website. Several “call” links, buttons,or a combination thereof may be loaded on the page at Target Website atstep 3102. Each such “call” button or link element may have an ElementID, for instance, by altering the ID attribute of the <a> HTML link tag.This Element ID attribute may be defined in the HTML or attacheddynamically through JAVASCRIPT code.

When User clicks “Call” at step 3104, a JAVASCRIPT may execute,collecting the clicked link or button Element ID as well as the currentpage URL and sending it to Tracker. Tracker may create a new blankrecord in its database, associated with Target Website, populate it withthe Element ID and page URL, and may generate a record ID at step 3106.Tracker may then use the record ID to create a new extension record, forexample, in the extensions table dedicated to Target Website.

As shown in step 3108, the system may send the Tracking Number, recordID, and extension to User's browser. As shown in step 3110, theJAVASCRIPT may then populate the “Call” link in User's browser with theTracking Number and extension, prompting a “Call” alert to pop up onUser's phone. At step 3112, User clicks the “Call” button on the alert,calling the Tracking Number, and automatically dialing the extension.

When User calls the Target Website phone, the call may be forwarded to apage of code at Tracker that incorporates the Target Website username,as assigned by Tracker. As shown in step 3114, the code at this page maygather the Target Website name from the URL and the dialed numbersincluding the dialed extension, and submit them to a second page of codeat Tracker that incorporates the Target Website username in the URL. Atstep 3116, this second page may use the Target Website username to findthe appropriate extensions table, and search this table for theextension or numeric code previously entered to obtain the ID of thecall record, and may generate a URL incorporating the call record ID.

At step 3118, the code may instruct Communications Provider to dialBusiness' phone number and submit details about the call followingtermination of the phone call to the URL at Tracker. The phone numbermay be stored in the database and located or accessed via the TargetWebsite username. At step 3120, following hang-up or termination of thephone call, the URL at Tracker may receive details such as callrecording URL and associate those with the call record ID.

The record and the extension that was associated with that particularrecord may be unassociated from one another (i.e., the extension isdeleted from the extensions table) following the hang-up of the call atstep 3120 or may be performed at any time following updating retrievalof the call record ID such as in step 3116. Deleting or un-associatingthe extension with recorded data may facilitate re-use of the extensionsuch that a new extension need not be created and the number of digitscontained in future associated extensions may be minimized.

In step 3122, Tracker retrieves the HTML code of each page URL that isassociated with at least one call record in its database. This may beachieved by querying the call records for unique values of page URLs,provided that these have been standardized (e.g., cleaned of prefixessuch as http, https, or www, as well as webpage filenames, GETvariables, and the like). To retrieve the HTML code, Tracker mayinitiate a cURL request to the appropriate URL at Target Website.

As described in step 3124, Tracker may use the HTML code retrieved instep 3122 to display a simulated version of the webpage, with an overlayvisualizing the click popularity of each “call” element. This would becalculated by summing the number of phone call records associated witheach Element ID over a specified time period. Tracker may then utilize acolor scale to visually indicate the popularity of each Element ID intriggering phone calls. For instance, the scale may vary from red toblue, with the most frequently clicked elements colored in red, and theleast frequently clicked elements colored in blue.

Another embodiment, as shown in FIG. 28, utilizes a method similar tothe one described above with respect to FIG. 27 except in the followingways. In particular, the method described with respect to FIG. 28differs from that described in FIG. 27 as it allows Operator toassociate phone call information, including financial transactions, withvisitor information. This is accomplished by entering information in asystem that interprets the data into a format suitable for sending to awebsite analytics system, where such data is associated with the visitorinformation.

As shown in FIG. 28, in step 3200, User may take an action that takesUser to a Target Website. For example, User may click on an ad, a searchlink, or on a referring link, etc. to direct User to a Target Website. A“call” link or buttons may be loaded on the page at Target Website atstep 3202. When User clicks “Call” at step 3204, a JAVASCRIPT mayexecute, collecting the value of a Tracking Cookie. At step 3206,Tracker may create a new blank record in its database, associated withTarget Website, populate it with the Tracking Cookie value obtainedearlier, and may generate a record ID. Tracker may then use the recordID to create a new extension record, for example, in the extensionstable dedicated to Target Website.

The system may send the Tracking Number, record ID, and extension toUser's browser at step 3208. As shown in step 3210, the code uses theTracking Cookie value and the ID associated with the Analytics Account,which may be stored in the database of Tracker. A Remote TrackingRequest is sent to Target Website's Analytics Account (such as a remotetrackEvent request in GOOGLE ANALYTICS). The Remote Tracking Request maybe categorized as a phone call and may be labeled with an IDcorresponding to the call ID assigned to the new call record. As shownin step 3212, the JAVASCRIPT may then populate the “Call” link in User'sbrowser with the Tracking Number and extension, prompting a “Call” alertto pop up on User's phone.

At step 3214, User clicks the “Call” button on the alert, calling theTracking Number, and automatically dialing the extension. As shown instep 3216, the call forwards to a page of code at Tracker that maygather the Target Website name from the URL and the dialed numbersincluding the dialed extension, and submit them to a second page of codeat Tracker. At step 3218, this second page may use the Target Websiteusername to find the appropriate extensions table, and search this tablefor the extension or numeric code previously entered to obtain the ID ofthe call record, and may generate a URL incorporating the call recordID.

At step 3220, the code may instruct Communications Provider to dial thereal phone number of Target Website and submit details about the callfollowing termination of the phone call to the URL at Tracker. At step3222, following hang-up or termination of the phone call, the URL atTracker may receive details such as call recording URL, call duration,etc., and associate them with the call record ID. The record and theextension that was associated with that particular record may beunassociated from one another (i.e., the extension is deleted from theextensions table) following the hang-up of the call at step 3222 or maybe performed at any time following retrieval of the call record ID suchas in step 3218.

During the call, or following call disconnection, the system may displaythe call record to an Operator in a UI. The Operator may use the UI toenter information obtained during the call, for instance, the amount ofsale revenue generated during the call. To help Operator distinguish thecorrect record to update during the call, the system may automaticallyupdate the status of all current calls to “IN CALL” and may display suchrecords in a separate list. To further distinguish among multipleconcurrent calls, prior to connecting the call, the system may announceto the Operator the call record ID, which Operator may enter into asearch box in the system to locate the correct call record. Operator maythen enter information about the call record in real time, while on thephone with the caller.

Alternatively, Operator may return to the call record at a later date toenter a sale amount, when such a transaction actually closed. To locatethe correct call record, the Operator may listen to the original callrecording, refer to information automatically entered by Tracker (suchas the caller's phone number), or consult information manually enteredby Operator during the original call or at a later date, such as thecaller's name and any relevant notes.

When Operator enters the sale revenue, Tracker may use the TrackingCookie value to send a Remote Tracking Request associating a transactionwith the original visitor data that triggered the phone call. The RemoteTracking Request may incorporate the sale revenue entered by Operator,as well as additional variables, such as a cost-of-sale amount. Suchvariables may be numeric or subjective attributes of the caller, sale,or any other aspect of the phone call and resulting transaction. Suchdata may be manually entered by Operator, such as the number and levelof agents involved in the call. Numeric figures may also beautomatically calculated by Tracker based on predefined constants. Forinstance, Tracker may use the original call duration, multiplied by apreset cost-per-time configured by the Operator, to calculate the costof sale. Furthermore, Tracker may subtract the cost from revenues toarrive at a profit figure, and send such figure as the revenue, ifdesired.

Another embodiment, as shown in FIG. 29, utilizes a similar method tothe one described above with respect to FIG. 28 except in the followingways. In particular, the method described with respect to FIG. 29differs from that described in FIG. 28 as Operator is given the optionto update the call record with financial transactions by communicatingwith Tracker using SMS. Steps 3300 through 3320 are similar or identicalto those described in the method described above with respect to FIG.28. At step 3322, following a disconnection of the call, Tracker mayinitiate a SMS to Operator's phone number with instructions on replyingto Tracker (e.g. “Reply with [PHONE] 202-555-0169 in beginning of SMS”)in such a way that Tracker can interpret the Operator's reply andtrigger a Remote Tracking Request as in FIG. 28.

Specifically, Operator's SMS may be sent to a phone number at theCommunications Provider, which may forward to a page of code at Tracker.In the original text message body, Tracker may include an identifyingvariable, such as the call record ID or the caller's phone number. Whenreplying to Tracker's SMS, Operator may include the identifyingvariable, sale revenue, and similar pertinent information formattedaccording to a predetermined standard, which may allow Tracker toutilize such data to search for the correct call record, retrieve theTracking Cookie, and initiate the Remote Tracking Request.

For instance, Tracker may assign reserved keywords, such as PHONE, SALE,PROFIT, ID, or similar. These keywords may be formatted in adistinguishing manner, for example, enclosed in brackets, e.g. [PHONE],[SALE], [PROFIT], and [ID]. Tracker may search the SMS for the reservedkeywords, separate the text between such keywords, and use the data topopulate the relevant information for the Remote Tracking Request. Forexample, at step 3324, Operator may reply, “[PHONE] 202-555-0169[REVENUE] $1,000 [PROFIT] $500”.

At step 3326, the code at Tracker may receive the SMS, may discern thatthe text between [PHONE] and [REVENUE], or 202-555-0169, is User's phonenumber, and may use this value to search the call records and obtain theassociated Tracking Cookie. Using a similar method for the remainingtext message body, Tracker may interpret the SMS as a need by Operatorto record a $1,000 revenue transaction with $500 profit for the TrackingCookie associated with 202-555-0169. Tracker then may proceed to send tothe Analytics Account a Remote Tracking Request with the financialtransaction in step 3326. Tracker may also combine information fromOperator's SMS with figures automatically calculated by Tracker based onpredefined constants. For instance, Operator may enter the revenue,while Tracker may use the original call duration to calculate the cost,as described earlier.

Another embodiment, as shown in FIG. 30, utilizes a similar method tothe one described above with respect to FIG. 28 and FIG. 29 except inthe following ways. In particular, the method described with respect toFIG. 30 differs from that described in FIG. 28 and FIG. 29 as calls areconnected to activities on marketing channels other than a website, forexample, e-mail campaigns or classified ads on a website such as Craig'sList.

To accomplish this, at step 3400 Operator may create an ad record atTracker for a marketing channel or activity, such as an e-mail campaign.Operator may enter a name for the record that matches the desired nameof the source to show when analyzing the source of financialtransactions. For instance, Operator may name a May e-mail campaign “MayE-Blast”. At step 3402, Tracker may store the new ad record, may assignan ad record ID, and may use the ID to generate a URL that incorporatesTarget Website's username and the ad ID. For example, where TargetWebsite is ABC.com and the ad ID is 23, the corresponding URL may be:“www.tracker.com/call-answering-script.php?username=ABC.com&sourceid=23.”

Operator may copy and insert the URL into the “href” attribute of theHTML “a” link tag at step 3404, creating a “call” link that, whenclicked, triggers a request to Tracker's server. Steps 3406 through 3424are similar to those in the method described above with respect to FIG.29, with no intermediate Remote Tracking Request (step 3310). Whencreating a call record, Tracker may generate a lead ID, an additionalvariable that may later substitute for the Tracking Cookie. In step3426, Tracker may retrieve the lead ID associated with the call record,as well as the ad ID and related information. At step 3428, Tracker mayinitiate a Remote Tracking Request as a financial transaction, and mayuse Tracker's lead ID record in lieu of the Tracking Cookie and the adname entered by Operator as the source. Furthermore, step 3222 in FIG.28 may be substituted as well, allowing financial transactions fromoff-site sources to be recorded.

Although a name field corresponding to each source at Tracker isdescribed, additional fields may be added to fully describe the source.For instance, GOOGLE ANALYTICS may record the Document Referrer,Campaign Name, Campaign Source, Campaign Medium, Campaign Keyword,Campaign Content, and Campaign ID, among other variables. Tracker mayallow Operator to describe each off-site marketing activity in detail,and may populate this information when sending Remote Tracking Requestsrelated to the call that was triggered by each marketing activity.

Referring to FIG. 31, an embodiment of a leads and/or call trackingsystem and method will now be described. As shown in FIG. 31, in step4100, User may take an action that takes User to a Target Website. Forexample, User may click on an ad, a search link, or on a referring link,etc. to direct User to a Target Website. Several “call” links, buttons,or a combination thereof may be loaded on the page at Target Website atstep 4102. When User clicks “Call” at step 4104, a JAVASCRIPT mayexecute, which may collect the current page URL and send it to Tracker.Tracker may create a new blank record in its database, associated withTarget Website, may populate it with the page URL, and may generate arecord ID at step 4106. Tracker may then use the record ID to create anew extension record, for example, in the extensions table dedicated toTarget Website.

The system may send the phone number belonging to Capable Entity, recordID, and extension to User's browser at step 4108. At step 4110, User'sbrowser may use the record ID to send a tracking request to theAnalytics Account, such as a remote trackEvent request in GOOGLEANALYTICS. The tracking request may be categorized as a phone call andmay be labeled with an ID corresponding to the record ID. As shown instep 4112, the JAVASCRIPT may then populate the “Call” link in User'sbrowser with the phone number and extension, prompting a “Call” alert topop up on User's phone. At step 4114, User clicks the “Call” button onthe alert, calling the Capable Entity, and automatically dialing theextension.

When User calls the Target Website phone, the call may forward toCapable Entity. As shown in step 4116, the system at Capable Entity maygather the dialed numbers including the dialed extension, and submitthem to a predetermined URL at Tracker, along with Target Website'susername. At step 4118, the code at Tracker URL may use the TargetWebsite username to find the appropriate extensions table, and searchthis table for the extension or numeric code previously entered toobtain the ID of the call record, and may respond to Capable Entity withthe call record ID. Alternatively, Capable Entity may generate its ownID, and may communicate the ID to Tracker together with the extension.Tracker would store this ID as associated with its own record ID. Thus,the systems may communicate using an ID generated by either party.

At step 4120, Capable Entity handles the call as usual. Optionally,Capable Entity may use the call record ID to source a section, ormodule, of Capable Entity's call handling dashboard from Tracker. Usingthe call record ID may customize the code of such a module to thespecific call. For instance, such a module may provide the option ofapplying tags, or nicknames, to a call record. When submitted, the tagsmay be sent to Tracker together with the call record ID, which would beused to apply the tags to the correct call record, and may be includedin communications with the Analytics Account, as detailed below. At step4122, following hang-up or termination of the phone call, Capable Entitymay send to Tracker details such as call recording URL along with thecall record ID, which Tracker may use to identify the correct record inits database and update it with such details.

The record and the extension that was associated with that particularrecord may be unassociated from one another (i.e., the extension isdeleted from the extensions table) following the hang-up of the call atstep 4122 or may be performed at any time following updating retrievalof the call record ID such as in step 4118. In step 4124, Tracker mayconnect to the Analytics Account and query for all visitor detailsassociated with the label corresponding to the call record ID. At step4126, Tracker may optionally forward such details together with the callrecord ID to Capable Entity, which may choose to store them in itsdatabase.

Alternatively, the value of a Tracking Cookie may be included in therequest to Tracker at step 4104. Tracker may store the Tracking Cookieas associated with the new call record ID in step 4106, and may use ittogether with the ID associated with the Analytics Account to send aRemote Tracking Request to Target Website's Analytics Account (such as aremote trackEvent request in GOOGLE ANALYTICS) when Capable Entitycommunicates the related extension. This Remote Tracking Request mayreplace the browser-based request from step 4112. The Analytics AccountID, a fixed variable, may be stored in Tracker's database.

Another embodiment, as shown in FIG. 32, utilizes a similar method tothe one described above with respect to FIG. 31 except in the followingways. In particular, the method described with respect to FIG. 32differs from that described in FIG. 31 as it displays an extension onpage load, rather than when a link is clicked. This enables tracking ofcalls that occur when a User sees a phone number on one device (e.g., alaptop computer), but initiates a call from another device (e.g., a cellphone).

As shown in FIG. 32, in step 4200, User may take an action that takesUser to a Target Website. For example, User may click on an ad, a searchlink, or on a referring link, etc. to direct User to a Target Website.At step 4202, a request may be sent to Tracker, and a new record inTracker database associated with the Target Website may be generated.The request may be sent to Tracker once the Target Website has loaded.Tracker may store a database of collected information, as well as anyphone number extension that has been associated with such information.Tracker may create a new record in Tracker database, for example, in theextensions table that is dedicated to Target Website.

As shown in step 4204, once the extension has been determined, thesystem may enter the extension into the extensions table and may send itback to User's browser. As shown in step 4206, a JAVASCRIPT may beautomatically initiated following the display of the extension in step4204. This code may first store the extension in a cookie, then mayinitiate an empty (“dummy”) asynchronous JAVASCRIPT and XML (“AJAX”)request (e.g., post) to Tracker. Following the first request, a secondrequest may be initiated, sending a POST request with User's assignedextension and the value of a Tracking Cookie.

The Tracking Cookie value may be only available for retrieval followinga second loading of the webpage, thereby necessitating the first “dummy”request. The Tracking Cookie may be associated with a web analyticstool, such as that provided by GOOGLE ANALYTICS or the like. Tracker mayupdate the record of the extension with the Tracking Cookie value. Asshown in step 4208, on each subsequent page load, the uniform resourcelocator (“URL”) of the page, commonly referred to as a web address, aswell as the extension may be sent to Tracker, which may update theextension record with the URL value, as well as the time of the update.

When the call is made to Capable Entity at step 4210, User may beprompted to enter the extension, for example, via a query or an audiblecommand. For example, at step 4212, User may hear the phrase, “if youhave an extension, please enter it now.” As shown in step 4214, whenUser enters the extension shown in his browser window, Capable Entitymay gather the dialed numbers including the dialed extension, and submitthem to Tracker along with Target Website's username. At step 4216,Tracker may use the Target Website username to find the appropriateextensions table, and search this table for the extension or numericcode previously entered to obtain the Tracking Cookie and the last pagevisited. Tracker may use the obtained value to create a blank record inthe Target Website calls table, which may be assigned an ID. Tracker maythen communicate the record ID to Capable Entity. The remaining steps4218 through 4228 are similar or identical to the corresponding steps inthe method described above with respect to FIG. 31.

Another embodiment, as shown in FIG. 33, utilizes a similar method tothe one described above with respect to FIG. 31 except in the followingways. In particular, the method described with respect to FIG. 33differs from that described in FIG. 31 as it enables tracking phonecalls that originate on properties other than Target Website. Forinstance, the method may be used to track phone calls that originate ine-mail campaigns, social media, and other similar off-site onlineentities managed by Business.

To accomplish this, at step 4300 Operator may create an ad record atTracker for a marketing channel or activity, such as an e-mail campaign.The Operator may enter a name for the record that matches the desiredname of the source to show when viewing call summary reports. Forinstance, Operator may name a May e-mail campaign “May E-Blast”. At step4302, Tracker may store the new ad record, may assign an ad record ID,and may use the ID to generate a URL that incorporates Target Website'susername and the ad ID. For example, where the Target Website is ABC.comand the ad ID is 23, the corresponding URL may be:“www.tracker.com/call-answering-script.php?username=ABC.com&sourceid=23.”

Operator may copy and insert the URL into the ad, for instance, in the“href” attribute of the HTML “a” link tag at step 4304, creating a“call” link that, when clicked, triggers a request to Tracker's server.Steps 306-324 are similar to those in the method described above withrespect to FIG. 31, with no intermediate Remote Tracking Request (step4110). Alternatively, when creating a call record, Tracker may generatea lead ID. Tracker may later use this lead ID in lieu of the TrackingCookie to send a Remote Tracking Request with the ad name entered byOperator as the visit source, allowing phone calls from off-site sourcesto be sent to the Analytics Account.

Note also that although the method is described here with embodimentsthat track phone calls using a single phone number, the same method canbe deployed with systems that utilize multiple tracking numbers. Thus,Tracker displays a phone number on a User's screen that forwards toCapable Entity. When User dials the phone number, which is operated byCapable Entity, Capable Entity sends Tracker a notification that a Userdialed the phone number. The remaining steps would be similar oridentical to the method described above.

Another embodiment, as shown in FIG. 34, utilizes a similar method tothe one described above with respect to FIG. 4 except in the followingways. In particular, the method described with respect to FIG. 34differs from that described in FIG. 4 as it allows Business to trackcustom information about each prospective caller. Such information maybe related and/or inferred from User's actions on Target Website,including a selected language, view customization, product selection,etc. This information may then be shown to the Operator answering thecall, and displayed in call reports. Optionally, this information canalso be used to verify the caller's identity and/or infer the caller'sintentions, eliminating the need for User to navigate voice menus whencalling. Thus, Capable Entity may use the information to automaticallyroute the call to the appropriate Operator.

As shown in FIG. 34, in step S100, User may take an action that takesUser to a Target Website. For example, User may click on an ad, a searchlink, or on a referring link, etc. to direct User to a Target Website.Several “call” links, buttons, or a combination thereof may be loaded onthe page at Target Website at step S102. At step S104, on page load atTarget Website, and following any subsequent touch gestures Userperforms (or at preset intervals), Target Website may send custominformation to Tracker through a JAVASCRIPT function. For instance, Usermay see a Language drop-down. When User selects Spanish, Target Websitemay pass to Tracker a variable-value pair such as, “language=Spanish”.

Multiple variable-value pairs may be passed in an associative array.Values may be obtained from the array, cookies established by TargetWebsite, or a URL, among other sources. When passing the variables,Target Website may instruct Tracker to replace all previously storedcustom information, add to existing information, or overwrite the oldvariables while keeping the other variables intact. In step S106,Tracker may receive the information and may store, or may update, itsvalue in a cookie. Variable-value pairs may be separated by apredetermined delimiter, such as a “|” or “-” character. For instance, acookie value for language=Spanish and product=cellphone may be stored as“language=Spanish|product=cellphone”.

When User clicks “Call” at step S108, a JAVASCRIPT may execute, whichmay collect the latest custom cookie value and send it to Tracker.Tracker may create a new blank record in its database, associated withTarget Website, may populate it with the custom information, and maygenerate a record ID at step S110. Tracker may then use the record ID tocreate a new extension record, for example, in the extensions tablededicated to Target Website. The remaining steps S112 through S130 aresimilar or identical to the corresponding steps in the method describedabove with respect to FIG. 4.

Another embodiment, as shown in FIG. 35, utilizes a similar method tothe one described above with respect to FIG. 21 and FIG. 34 except inthe following ways. In particular, the method described with respect toFIG. 35 adapts the method described in FIG. 34 to a scenario describedin FIG. 21, where a numeric code is displayed on page load, rather thanwhen a link is clicked. This enables tracking of calls that occur when aUser sees a phone number on one device (e.g., a laptop computer), butinitiates a call from another device (e.g., a cell phone).

As shown in FIG. 35, in step S200, User may take an action that takesUser to a Target Website. For example, User may click on an ad, a searchlink, or on a referring link, etc. that directs User to a TargetWebsite. At step 1202, a request may be sent to Tracker, and a newrecord in Tracker database associated with the Target Website may begenerated. The request may be sent to Tracker once the Target Websitehas loaded. Tracker may create a new record in Tracker database, forexample, in the extensions table that is dedicated to Target Website.

As shown in step S204, once the code has been determined, the system mayenter the code into the extensions table and may send it back to User'sbrowser. As shown in step S206, on page load at Target Website, andfollowing any subsequent mouse gestures—such as clicks, hovers, ormovements—that User performs (or at preset intervals), Target Websitemay send custom information to Tracker through a JAVASCRIPT function.For instance, User may see a Language drop-down. When User selectsSpanish, Target Website may pass to Tracker a variable-value pair suchas, “language=Spanish”.

In step S208, Tracker may receive the information and may send it to itsdatabase, together with the numeric code associated with User. Trackermay then update the custom information associated with the numeric codevalue. Alternatively, when receiving the information, Tracker may store,or may update, its value in a cookie. At preset intervals, a JAVASCRIPTmay automatically collect the latest custom cookie value and send it toTracker, together with the numeric code associated with User. Trackermay then update the custom information associated with the numeric codevalue, as well as the time of the update. The remaining steps S210through S224 are similar or identical to the corresponding steps in themethod described above with respect to FIG. 21 and/or FIG. 34.

In summary, the method enables phone calls to be tracked in the samemanner as on-website events, such as file downloads or form submissions.This allows the system to capture valuable data from the analyticssystem, such as visitor source information. Incorporating an IDthroughout the method allows Business to “drill down” into phone callsdata, attributing each phone call to a specific marketing channel,geographic location, device, etc. The described features are notmutually exclusive; each Business can select as few or as many of theoptions to fit its needs and/or preferences.

The above-described methods can be implemented in a system that mayinclude one or more non-transitory computer readable storage mediumswith instructions stored thereon that when executed by a computingsystem cause the computing system to perform the above-describedoperations.

Each of the methods described herein with reference to the accompanyingfigures may be implemented as a system including one or more serversproviding data related to the website and the database, wherein eachserver comprises at least one computing system having at least one dataprocessor. The above-described methods according to the technologyintroduced here can be implemented as devices and/or systems includingmultiple devices.

For example, the methods described herein may be implemented inhardware, firmware, or as software or computer code that can be storedin a recording medium such as a CD-ROM, an RAM, a floppy disk, a harddisk, or a magneto-optical disk or computer code downloaded over anetwork originally stored on a remote recording medium or anon-transitory machine readable medium and to be stored on a localrecording medium, so that the methods described herein can be renderedin such software that is stored on the recording medium using a generalpurpose computer, or a special processor or in programmable or dedicatedhardware, such as an ASIC or FPGA. As would be understood in the art,the computer, the processor, microprocessor controller or theprogrammable hardware include memory components, e.g., RAM, ROM, Flash,etc. that may store or receive software or computer code that whenaccessed and executed by the computer, processor or hardware implementthe processing methods described herein. In addition, it would berecognized that when a general purpose computer accesses code forimplementing the processing shown herein, the execution of the codetransforms the general purpose computer into a special purpose computerfor executing the processing shown herein.

FIG. 37 illustrates at a high-level, exemplary hardware architecture fora processing system that can be used to implement any computer system orother processing devices mentioned above, such as a Tracker, forexample. Any of these devices each can include multiple instances of anarchitecture such as shown in FIG. 37 (e.g., multiple computers),particularly server-based systems such as the Tracker's computer system,and such multiple instances can be coupled to each other via one or morenetworks.

In the illustrated embodiment, the architecture 3700 includes one ormore processors 3710, memory 3711, one or more communication device(s)3712, one or more input/output (I/O) devices 3713, and one or more massstorage devices 3714, all coupled to each other through an interconnect3715. The interconnect 3715 may be or include one or more conductivetraces, buses, point-to-point connections, controllers, adapters and/orother conventional connection devices. The processor(s) 3710 control theoverall operation of the processing device 3700 and can be or include,for example, one or more general-purpose programmable microprocessors,digital signal processors (DSPs), mobile application processors,microcontrollers, application specific integrated circuits (ASICs),programmable gate arrays (PGAs), or the like, or a combination of suchdevices.

Memory 3711 can be or include one or more physical storage devices,which may be in the form of random access memory (RAM), read-only memory(ROM) (which may be erasable and programmable), flash memory, miniaturehard disk drive, or other suitable type of storage device, or acombination of such devices. The mass storage device (s) 3714 can be orinclude one or more hard drives, digital versatile disks (DVDs), flashmemories, or the like. Memory 3711 and/or mass storage 3714 can store(individually or collectively) data and instructions that configure theprocessor(s) 3710 to execute operations to implement the techniquesdescribed above. Each communication device 3712 can be or include, forexample, a wired Ethernet adapter, cable modem, DSL modem, cellulartelecommunications transceiver (e.g., 3G or 4G/LTE), Wi-Fi transceiver,baseband processor, Bluetooth or BLE transceiver, or the like, or acombination thereof. Depending on the specific nature and purpose of theprocessing device 3700, the I/O devices 3713 can include devices such asa display (which may be a touch screen display), audio speaker,keyboard, mouse or other pointing device, microphone, camera, etc. Note,however, that such I/O devices may be unnecessary if the processingdevice 3700 is embodied solely as a server computer.

One embodiment of the present invention, illustrated in FIG. 38, can besummarized in a schematic diagram of an exemplary network environmentemploying an identifier 6002 for collection of call records 6022 and/orother data records 6052 of a user.

In an initial step (1), a computer system 6000 receives one of thefollowing: (a) a message that the user has accessed a website 6030associated with a first entity or (b) a message that the user hasinitiated a voice call 6012 to an agent 6040 associated with the firstentity.

In a second step (2), the computer system 6000 generates the identifier6002 based upon one of: (a) the message that the user has accessed thewebsite 6030 associated with the first entity (defined as anticipating avoice call 6012 to the agent 6040 of the first entity) or (b) themessage that the user has initiated the voice call 6012 to the agent6040 associated with the first entity. The computer system 6000 forwardsthe identifier 6002 to at least one of: (a) a telephone 6010, (b) thewebsite 6030 associated with the first entity, and (c) an externalcomputer 6050.

The system associates the voice call 6012 and all data 6052 associatedwith activities of the user by the identifier 6002 by appending theidentifier 6002 to the associated record as shown.

In a third step (3), the communication provider 6020 forwards a callrecord 6022 (which includes the identifier 6002) to the computer system6000, which stores the information in a database located on a digitalstorage device 6004. The computer system 6000 collects all of the callrecords 6022 (each call record includes the associated identifier 6002).The external computer 6050 tracks history of the user and records theactivities in data records 6052 (wherein each of the data records 6052includes the identifier 6002).

Once all of the data has been recorded at the various locations, thecomputer system 6000 can collect data 6006 from the external computer6050 by sending a request to receive all information that includes theidentifier 6002. This process enables collection of both call records6022 and activities 6052 made by the user that are associated with thefirst entity for data mining, lead generation, and other marketingpurposes. The collected information 6006 is stored on the digitalstorage device 6004. The call data records (CDRs) 6022 are normallycollected and stored in a predefined format. The data records 6050 arealso collected and stored in a predefined format. The unique identifier6002 is appended to each record of the set of records associated withcalls 6012 and activities of the same user.

A second embodiment of the present invention, illustrated in FIG. 39,can be summarized in a schematic diagram detailing interactions betweenusers 7040 and providers. The user 7040 is representative of a user anda browser enabled computing device, such as a computer, a portablecomputing tablet, a Smartphone, and the like. The general concept of thepresent invention is to provide a mechanism for identifying a user orvisitor to a website 7036 presented through a web server 7030 andretaining the association between a plurality of entities. The webserver 7030 includes a network connected server 7032 in communicationwith an associated web server digital data storage device 7034. The webserver digital data storage device 7034 stores and manages one or morewebsites 7036 and any associated data.

The user 7040 requests to view a webpage in accordance with a request7038 from a web server 7030. The web server 7030 returns sourceinformation to the user 7040 via a source transfer communication 7049. Adata management company server 7022 operated by a data managementcompany 7020 establishes a user level identifier 7026 and forwards theuser level identifier 7026 to the user 7040 via a communication link7028. Information would be stored on a data management company digitalstorage device 7024, wherein the data management company digital storagedevice 7024 is in signal communication with the data management companyserver 7022.

The requested webpage includes at least one form 7046. The form 7046 isappended (combining the user level identifier 7026 with the form 7046 bya tracking company 7010. This is accomplished by placing a code snippet7016 on at least one website 7036 on the web server 7030 at anyreasonable point in time. The transfer is accomplished using a sourcetransfer communication 7049 (block 650 of FIG. 12). The code snippet7016 can be introduced prior to, during, or after the transfer of thesource code of the website 7036. The code snippet 7016 can betransferred to the web server 7032, the user 7040, or any other suitablelocation to provide the desired solution. In the exemplary embodiment,the code snippet 7016 is transferred to the user 7040 via a snippetcommunication link 7019.

In one exemplary solution, the user level identifier 7026 is appended tothe form by the code snippet 7016 after the form is served to the user7040. In one variant of the process, the process can append a permanentor temporary tracking identifier to the form 7046. If a temporaryidentifier is used, the temporary identifier is exchanged with apermanent identifier when the completed form 7047 is transferred to aninquiry management server 7002. The combination including the appendedpermanent identifier would be stored as the record.

The user 7040 completes and submits the form. The completed form 7046,including the associated user level identifier 7026 are submitted to theinquiry management server 7002 operated by an inquiry managementprovider 7000. The received information is stored on an inquirymanagement digital storage device 7004, wherein the inquiry managementdigital storage device 7004 is in signal communication with the inquirymanagement server 7002.

In one practice, the user 7040 is subsequently connected to an agent7050 by any suitable communication link (not shown). Examples ofcommunication links can include e-mail, in-person, a telephone call,transfer to a different website, or any other communication link. In onevariant, the communication between parties is accomplished using anoffline communication process. The records 7056 would be generated bythe agent, an automated record generation process, or any other suitableprocess. The agent 7050 forwards the collected data activity records7056 of follow up activities to the inquiry management provider 7000,referenced as a user-agent activities records transfer 7059.

A tracking company server 7012, operated by a tracking company 7010,would transmit an application programming interface (“API”) request tothe inquiry management provider 7000 in accordance with a requestcommunication 7018. The tracking company 7010 subsequently responds byforwarding the data collected from the agent 7050 to the trackingcompany server 7012 in accordance with a data request response or datatransfer communication 7008. The tracking company 7010 collects andstores the received records 7057 on a tracking company digital datastorage device 7014. The stored records 7058, including the associateduser level identifier 7026, are forwarded to the data management company7020 for future use, wherein the conveyance of the stored records 7058is accomplished via a data transfer communication link 7017. If apermanent tracking identifier is used, the user level identifierassociated with the tracking identifier is first located, and then usedto forward the stored records 7058 to the data management company 7020.

Although the invention herein has been described with reference toparticular embodiments, it is to be understood that these embodimentsare merely illustrative of the principles and applications of thetechnology introduced here. For example, the term “business” is notlimited to a business but can include any entity having an online orInternet presence in the form of a website. It is to be understood thatunless otherwise indicated herein, the order in which the steps of thefigures are described is not intended to require that such steps beperformed in the order in which they are described. It is therefore tobe understood that numerous modifications may be made to theillustrative embodiments and that other arrangements may be devisedwithout departing from the spirit and scope of the present invention asdefined by the appended claims. It is understood, therefore, that thisinvention is not limited to the particular embodiments disclosed, but itis intended to cover modifications that are within the spirit and scopeof the invention. Furthermore, material appearing in the backgroundsection of the specification is not an admission that such material isprior art to the invention.

What is claimed is:
 1. A network system comprising: a first computersystem comprising a microprocessor, a digital memory device, and acommunication circuit; a plurality of user computers comprising amicroprocessor, a digital memory device, and a communication circuit,each user computer of the plurality of user computers being networked todigitally communicate with the first computer system, a second computersystem comprising a microprocessor, a digital memory device, and acommunication circuit, the second computer system being networked todigitally communicate with the first computer system; an externalcomputer system comprising a microprocessor, a digital memory device,and a communication circuit, the external computer system beingnetworked to digitally communicate with each user computer of theplurality of user computers, the external computer system beingnetworked to digitally communicate with the first computer system andsecond computer system; wherein in operation: the external computersystem hosts at least one website, accessed by at least one of theplurality of user computers; the first computer system stores andmaintains a database of records in the first computer digital memorydevice, each record in the database of records corresponds to an accessof a website hosted by the external computer system made by a respectiveuser computer of the plurality of user computers, each record identifiedby an identifier; the second computer system stores and maintains adatabase of records, each record containing user related information,wherein at least one record in the database of records is createdcontaining form submitted information obtained from a submission of acompleted form provided from a respective user computer of the pluralityof user computers, wherein the completed form is created by a usercompleting a native form obtained while accessing a respective websiteof the at least one website; wherein the at least one record in thesecond computer system and resulting from submission of the completedform, contains the identifier associated with the website accessassociated with the form submission, and wherein the first computersystem is configured to use the identifier to associate at least onerecord from the second computer system with at least one record,associated with the same identifier, from the first computer system. 2.The network system as recited in claim 1, where the second computersystem is configured to store ancillary information, wherein theancillary information is information other than the form submissioninput, wherein the ancillary information is appended to the at least onerecord after the record is created.
 3. The network system as recited inclaim 1, where, in operation, at least one of: (a) the respective usercomputer of the plurality of user computers obtains the identifier fromthe first computer system and associates the identifier with dataentered through the respective user computer of the at least usercomputer into the form displayed on the respective user computer, theform being provided during access to a respective website of the atleast one website; and (b) the external computer system obtains theidentifier from the first computer system and associates the identifierwith data entered through the respective user computer of the at leastuser computer into a form displayed on the respective user computer, theform being provided during access to the respective website of the atleast one website.
 4. The network system as recited in claim 1, wherethe first computer system is configured to collect the user relatedinformation stored within the associated record of the at least onerecord at the second computer system and display the collected userrelated information in conjunction with the information from the recordassociated with the same identifier at the first computer system.
 5. Thenetwork system as recited in claim 1, wherein the first computer systemis a web activity tracking system, wherein the second computer system isa customer relationship management system.
 6. The network system asrecited in claim 1, further comprising a third computer system; wherethe first computer system includes an instruction set that associatesthe respective record of the at least one record from the secondcomputer system with a second identifier generated by the third computersystem and uses the second identifier to associate a record at the thirdcomputer system with the record at the first computer system.
 7. Thenetwork system as recited in claim 1, further comprising an instructionset that appends the identifier to at least one of the native form andthe form submitted information as one of: (a) a prefix of a data stringgenerated from the at least one of the native form and the formsubmitted information; (b) an intermediary segment of a data stringgenerated from the at least one of the native form and the formsubmitted information; or (c) a suffix of a data string generated fromthe at least one of the native form and the form submitted information.8. The network system as recited in claim 1, further comprising at leastone third computer system; the second computer system further comprisingan instruction set that transfers the stored record of the database ofrecords stored on the second computer system to the at least one thirdcomputer system, and wherein at least one of: (1) the first computersystem and (2) the at least one third computer system, furthercomprising an instruction set that utilizes the identifier to associateat least one record from at least one of: (1) the database of recordsstored on the second computer system, and (2) one computer system of theat least one third computer system, with at least one record associatedwith the same identifier, stored on at least one of: (1) the firstcomputer system, and (2) one or another computer system of the at leastone third computer system.
 9. The network system as recited in claim 1,the first computer system further comprising an instruction set thatreceives at least one of: (a) the form submitted information from therespective record of the at least one record in the database stored onthe second computer system, and (b) additional information associatedwith the same identifier associated with the respective record stored onthe second computer system.
 10. The network system as recited in claim1, the first computer system further comprising an instruction set thatretrieves at least one of: (a) the form submitted information from therespective record of the at least one record in the database stored onthe second computer system, and (b) additional information associatedwith the same identifier associated with the respective record stored onthe second computer system.
 11. A network system comprising: a firstcomputer system and a second computer system, each system comprising amicroprocessor, a digital memory device, and a communication circuit; aplurality of user computers comprising a microprocessor, a digitalmemory device, and a communication circuit, each user computer of theplurality of user computers being networked to digitally communicatewith the first computer system; an external computer system comprising amicroprocessor, a digital memory device, and a communication circuit,the external computer system being networked to digitally communicatewith each user computer of the plurality of user computers, the externalcomputer system being networked to digitally communicate with the firstcomputer system and the second computer system; wherein the firstcomputer system is configured to: (a) receive a request from one of theexternal computer system and the user computer system corresponding toaccess of a website hosted on the external computer, (b) issue anidentifier in response to the request, and (c) associate the identifierwith website access related information, wherein the website accessrelated information includes information related to access of thewebsite hosted on the external computer; wherein at least one of theexternal computer system and the user computer system includes aninstruction set that associates the identifier with one of: (a) a nativeform presented on one of the external computer system or the usercomputer system, and (b) the form submitted information entered tocomplete the native form, such that when the native form is submitted,the identifier is stored at the second computer system, and a recordassociated with the form submitted information entered to complete thenative form is stored at the second computer system, wherein anassociation between the identifier stored at the second computer systemand the record associated with the form submitted information entered tocomplete the native form stored at the second computer system isprovided on the second computer system, wherein the first computersystem includes an instruction set comprising the followinginstructions: (a) access the stored record on the second computer systemto retrieve ancillary information, collected from sources other than awebsite hosting the native form, that has been appended to the record,and (b) use the identifier to associate the ancillary informationassociated with the completed form from the second computer system withthe data collected by the first computer system.
 12. The network systemas recited in claim 11, where the first computer system includes aninstruction set that collects information from the associated recordstored on the second computer system and displays the collectedinformation in conjunction with the information from the recordassociated with the same identifier at the first computer system. 13.The network system as recited in claim 11, wherein the first computersystem is a web activity tracking system, wherein the second computersystem is a customer relationship management system.
 14. The networksystem as recited in claim 11, the first computer system furthercomprising an instruction set that receives at least one of: (a) theform submitted information from the respective record of the at leastone record in the database stored on the second computer system, and (b)additional information associated with the same identifier associatedwith the respective record stored on the second computer system.
 15. Thenetwork system as recited in claim 11, the first computer system furthercomprising an instruction set that retrieves at least one of: (a) theform submitted information from the respective record of the at leastone record in the database stored on the second computer system, and (b)additional information associated with the same identifier associatedwith the respective record stored on the second computer system.
 16. Thenetwork system as recited in claim 11, further comprising at least onethird computer system; the second computer system further comprising aninstruction set that transfers the stored record of the database ofrecords stored on the second computer system to the at least one thirdcomputer system, and wherein at least one of: (1) the first computersystem and (2) the at least one third computer system, furthercomprising an instruction set that utilizes the identifier to associateat least one record from at least one of: (1) the database of recordsstored on the second computer system, and (2) one computer system of theat least one third computer system, with at least one record associatedwith the same identifier, stored on at least one of: (1) the firstcomputer system, and (2) one or another computer system of the at leastone third computer system.
 17. The network system as recited in claim11, further comprising a third computer system, the first computersystem further comprising an instruction set that associates therespective record of the at least one record from the second computersystem with a second identifier generated by the third computer systemand uses the second identifier to associate a record at the thirdcomputer system with the record at the first computer system.
 18. Thenetwork system as recited in claim 11, further comprising an instructionset that appends the identifier to at least one of the native form andthe form submitted information by appending the identifier as one of:(a) a prefix of a data string generated from at least one of the nativeform and the form submitted information; (b) an intermediary segment ofa data string generated from at least one of the native form and theform submitted information; or (c) a suffix of a data string generatedfrom at least one of the native form and the form submitted information.19. A network system comprising: a first computer system, a secondcomputer system, and a third computer system, each system comprising amicroprocessor, a digital memory device, and a communication circuit; aplurality of user computers, each user computer of the plurality of usercomputers comprising a microprocessor, a digital memory device, and acommunication circuit, each user computer of the plurality of usercomputers being networked to digitally communicate with the firstcomputer system; an external computer system comprising amicroprocessor, a digital memory device, and a communication circuit,the external computer system being networked to digitally communicatewith each user computer of the plurality of user computers, the externalcomputer system being networked to digitally communicate with the firstcomputer systems and the second computer system; wherein the firstcomputer system is configured to: (a) receive a request from one of thesecond computer system and the user computer system corresponding toaccess of a website hosted on an external computer, (b) issue anidentifier in response to the request, and (c) associate the identifierwith website access related information, wherein the website accessrelated information contains information related to access of thewebsite hosted on the external computer; wherein at least one of theexternal computer system, the user computer systems, and the thirdcomputer system includes an instruction set that associates theidentifier with one of: (a) a native form presented on one of theexternal computer system, the user computer system, or the thirdcomputer system, and (b) the data entered to complete the native form,such that when the native form is submitted, the identifier is stored onat least one of the second computer system and the third computersystem, and a record associated with the form submitted informationentered to complete the native form is stored on at least one of thesecond computer system and the third computer system; wherein anassociation between the identifier stored on at least one of the secondcomputer system or the third computer system and the record associatedwith the data entered to complete the native form stored on at least oneof the second computer system and the third computer system is providedon the second computer system; wherein at least one of the firstcomputer system and the third computer system is configured to: (a)access the stored record on at least one of the second computer systemand the third computer system to retrieve ancillary information,collected from sources other than a website hosting the native form,that has been appended to the record, and (b) use the identifier toassociate the ancillary information associated with the completed nativeform from at least one of the second computer system and the thirdcomputer system with the data collected by at least one of the firstcomputer system and the third computer system.
 20. The network system asrecited in claim 19, wherein at least one of the first computer systemand the third computer system includes an instruction set that collectsinformation from the associated record stored on the second computersystem and displays the collected information in conjunction with theinformation from the record associated with the same identifier at thefirst computer system.
 21. The network system as recited in claim 19,wherein the first computer system is a web activity tracking system,wherein the second computer system is a customer relationship managementsystem.
 22. The network system as recited in claim 19, wherein at leastone of the first computer system and the third computer system furthercomprise an instruction set that receives at least one of: (a) the formsubmitted information from the respective record of the at least onerecord in the database stored on at least one of the second computersystem and the third computer system, and (b) additional informationassociated with the same identifier associated with the respectiverecord stored on at least one of the second computer system and thethird computer system.
 23. The network system as recited in claim 19,wherein at least one of the first computer system and the third computersystem further comprises an instruction set that retrieves at least oneof: (a) the form submitted information from the respective record of theat least one record in the database stored on at least one of the secondcomputer system and the third computer system, and (b) additionalinformation associated with the same identifier associated with therespective record stored on at least one of the second computer systemand the third computer system.
 24. The network system as recited inclaim 19, further comprising at least one fourth computer system; thesecond computer system further comprising an instruction set thattransfers the stored record of the database of records stored on thesecond computer system to the at least one fourth computer system, andwherein at least one of: (1) the first computer system, (2) the thirdcomputer system, and (3) the at least one fourth computer system,further comprising an instruction set that utilizes the identifier toassociate at least one record from at least one of: (1) the database ofrecords stored on the second computer system, (2) the third computersystem, and (3) one computer system of the at least one fourth computersystem, with at least one record associated with the same identifier,stored on at least one of: (1) the first computer system, (2) the thirdcomputer system, and (3) one or another computer system of the at leastone fourth computer system.
 25. The network system as recited in claim19, further comprising a fourth computer system; where at least one of(a) the first computer system and (b) the third computer system includesan instruction set that associates the respective record of the at leastone record from the second computer system with a second identifiergenerated by the fourth computer system and uses the second identifierto associate a record at the fourth computer system with the record fromat least one of the first computer system and the third computer system.26. The network system as recited in claim 19, further comprising aninstruction set that appends the identifier to at least one of thenative form and the form submitted information by appending theidentifier as one of: (a) a prefix of a data string generated from atleast one of the native form and the form submitted information; (b) anintermediary segment of a data string generated from at least one of thenative form and the form submitted information; or (c) a suffix of adata string generated from at least one of the native form and the formsubmitted information.